Статистические функции. Та же функция, оказанный различные в пандах, scipy и python statistics

Я располагаю dataframe следующей "таблицей":

    0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19
0   75  28  74  76  38  82  28  90  51  54  64  61  48  70  59  52  84  45  60  30
1   49  54  87  18  66  63  56  23  59  100 69  59  24  33  61  15  29  33  75  74
2   45  66  41  51  87  49  63  41  51  35  95  53  40  22  29  76  34  19  48  75
3   60  69  73  75  60  56  52  74  88  38  66  30  49  56  45  59  79  61  67  27

Мы готовим ее к предвиденным вычислениям, проницательного siguente.

import pandas as pd

# Ordenación de los datos
datos = np.sort(tabla, axis=None)
lista_valores = tabla.values.tolist()
lista_ordenada = np.sort(tabla, axis=None)
# Create ndArray from a list
array_datos_ordenados = np.array(lista_ordenada.reshape(4,20))
# Generamos el dataframe valores
valores =  pd.DataFrame(lista_ordenada)
valores.columns = (["Valores"])
valores_ordenados = pd.DataFrame(array_datos_ordenados)

Пользуясь этими подмостками и списками, я вычисляю различные курсоры описательной статистики, используя эквивалентные функции панд, numpy и python statistics. Я наблюдаю следующие различия в каких-то результатах, например. Отклонение estádard.

# Con pandas. Cálculo sobre una columna
valores["Valores"].std()

Возврати 19.925494133288044

# Con pandas. Cálculo sobre una serie
lista_ordenada.std()

Возврати 19.80056817366613

# Desviación estádard
import numpy as np
np.std(lista_ordenada)

Возврати 19.80056817366613

Дисперсия

# Con pandas. Cálculo sobre una columna
valores["Valores"].var()

Возврати 397.0253164556962

import statistics as st
st.variance(lista_ordenada)

Возврати 397

import numpy as np
np.var(lista_ordenada)

Возврати 392.0625: Каковым может быть разум этих различий, и который этих выборов мы должны считать более точными?.

2
задан 16.07.2019, 21:57
1 ответ

Я habГ - в оставшийся с сомнением для quГ© servГ - в parГЎmetro "ddof". EncontrГ© эта explicaciГіn, что мне кажется уместным достигать. Чтобы вычислять, например, дисперсию и ее desviaciГіn estГЎndar набора данных, мы используем их mГ©todos x.std () и x.var (). В них fГіrmulas дисперсии и ее desviaciГіn estГЎndard, понимают по умолчанию, что набор данных - та poblaciГіn полная. Однако, чтобы менять это поведение, мы можем использовать аргумент ddof (градусы свободы дельты). Знаменатель в ней fГіrmula дисперсии - nГєmero элементов в массиве меньше ddof, а следовательно, чтобы вычислять ее estimaciГіn беспристрастно дисперсии и ее desviaciГіn estГЎndar образца, мы нуждаемся в том, чтобы установить ddof = 1

1
ответ дан 01.12.2019, 23:34

Теги

Похожие вопросы