statsmodels anova_lm возвращает PR> F 0.0: Как изменить количество десятичных дробей? - PullRequest
0 голосов
/ 05 ноября 2019

Я выполняю ANOVA на кадре данных панд, используя statsmodels anova_lm.

Возвращаемый уровень значимости PR>F равен 0.0. Я предполагаю, что это округленное значение, но округленное на сколько знаков после запятой?

Есть ли способ указать количество знаков после запятой в statsmodels?

мой код:

from statsmodels.formula.api import ols
import statsmodels.api as sm

formula = 'consensus_rate ~ C(strategy) + np.power(nr_clues,' + str(exp) +') +  shared_ratio + primacy_weight + edges_per_node '
lm = ols(formula, data=bigdf).fit()
sm.stats.anova_lm(lm, typ=2)

возвращает

>>>>                           sum_sq      df             F  PR(>F)
C(strategy)              1.909980e+06     3.0  15196.209763     0.0
np.power(nr_clues, 0.1)  5.159021e+05     1.0  12313.884367     0.0
shared_ratio             7.383109e+05     1.0  17622.480378     0.0
primacy_weight           2.099998e+05     1.0   5012.410347     0.0
edges_per_node           8.457493e+04     1.0   2018.689015     0.0
Residual                 3.013158e+05  7192.0           NaN     NaN

1 Ответ

0 голосов
/ 05 ноября 2019

PR(>F), вероятно, меньше, чем 0.000000

Глядя на другие statsmodels таблицы anova, кажется, statsmodels отображает числа с 6 десятичными знаками.

Например:

              df  sum_sq     mean_sq          F    PR(>F)
C(Fitness)   2.0   672.0  336.000000  16.961538  0.000041
Residual    21.0   416.0   19.809524        NaN       NaN

Источник: https://www.statsmodels.org/stable/examples/notebooks/generated/interactions_anova.html

...