Arhn - архитектура программирования

Вычислить стандартное отклонение из бинарного списка

Скажем, у меня есть список целочисленных значений, от 1 до 10. Вместо фактического набора данных у меня есть только количество каждого значения. Например:

1  | 73
2  | 121
3  | 155
4  | 149
5  | 187
6  | 180
7  | 166
8  | 148
9  | 120
10 | 81

Как видите, перечисление каждого значения по отдельности (73 1s, 121 2s и т. д.) заняло бы невероятно много времени, но это единственный известный мне способ использования STDEV().

Как рассчитать стандартное отклонение значений?

29.09.2015


Ответы:



2

Пользовательская функция, определяемая пользователем (также известная как UDF), может быть наиболее целесообразным путем.

UDF для развертывания массива в STDEV

Ваши значения из столбца A были расширены до кратных значений в столбце B в D2:D1381 (см. ниже).

STDEV, STDEV.P и STDEV.S формулы в E2:G2:

=STDEV($D2:$D1381)
=STDEV.P($D2:$D1381)
=STDEV.S($D2:$D1381)

Формулы UDF в E3: G3:

=udf_STDEV_Exploded($A2:$A11, 1)   ' or =udf_STDEV_Exploded($A2:$A11)
=udf_STDEV_Exploded($A2:$A11, 2)
=udf_STDEV_Exploded($A2:$A11, 3)

Формулы UDF основаны на следующем коде модуля.

Function udf_STDEV_Exploded(rng As Range, Optional iTYP As Long = 1)
    Dim r As Long, v As Long, vVALs As Variant

    ReDim vVALs(0)
    For r = 1 To rng.Rows.Count
        For v = 1 To rng.Cells(r, 2).Value2
            vVALs(UBound(vVALs)) = rng.Cells(r, 1).Value2
            ReDim Preserve vVALs(0 To UBound(vVALs) + 1)
        Next v
    Next r
    ReDim Preserve vVALs(0 To UBound(vVALs) - 1)

    Select Case iTYP
        Case 1
            udf_STDEV_Exploded = WorksheetFunction.StDev(vVALs)
        Case 2
            udf_STDEV_Exploded = WorksheetFunction.StDev_P(vVALs)
        Case 3
            udf_STDEV_Exploded = WorksheetFunction.StDev_S(vVALs)
        Case Else
            'do nothing
    End Select
End Function

Я добавил возможность обработки массива с помощью STDEV, STDEV.P или STDEV.S. Функция СТАНДОТКЛОН используется по умолчанию.

Дополнение

Код для разбивки значений из A2: B11 в длинный столбец значений на листе:

Sub stdev_vals()
    Dim rw As Long, f As Long, n As Long

    With Worksheets("Sheet1")
        For rw = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
            .Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Resize(.Cells(rw, 2).Value2, 1) = .Cells(rw, 1).Value2
        Next rw
    End With
End Sub
29.09.2015

3

Сначала вычислите среднее значение (здесь оно обозначено как THE_AVG):

=SUM(BIN_NUM*REPEATS)/SUM(REPEATS)

вводится как формула массива (CTRL-SHIFT-ENTER). Затем рассчитайте стандартное отклонение:

=SQRT(SUM((BIN_NUM-THE_AVG)^2*REPEATS)/(SUM(REPEATS)-1))

снова вводится как формула массива. При желании два расчета можно свернуть в одну формулу:

=SQRT(SUM((BIN_NUM-SUM(BIN_NUM*REPEATS)/SUM(REPEATS))^2*REPEATS)/(SUM(REPEATS)-1))

В этих формулах BIN_NUM представляет диапазон ячеек с номерами ячеек (скажем, A1: A10), а REPEATS представляет диапазон ячеек с количеством ячеек в каждой ячейке (скажем, B1: B10).

надеюсь, это поможет

29.09.2015
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..