Почему R и statsmodels дают немного разные результаты ANOVA?

Используя небольшой набор данных R и пример ANOVA изstatsmodels, степени свободы для одной из переменных сообщаются по-разному, и результаты F-значений также немного отличаются. Возможно, у них немного другие подходы по умолчанию? Могу ли я настроить statsmodels для использования значений по умолчанию R?

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


##R code on R sample dataset

#> anova(with(ChickWeight, lm(weight ~ Time + Diet)))
#Analysis of Variance Table
#
#Response: weight
#           Df  Sum Sq Mean Sq  F value    Pr(>F)
#Time        1 2042344 2042344 1576.460 < 2.2e-16 ***
#Diet        3  129876   43292   33.417 < 2.2e-16 ***
#Residuals 573  742336    1296
#write.csv(file='ChickWeight.csv', x=ChickWeight, row.names=F)

cw = pd.read_csv('ChickWeight.csv')
cw_lm=ols('weight ~ Time + Diet', data=cw).fit()   

print(sm.stats.anova_lm(cw_lm, typ=2))
#                  sum_sq   df            F         PR(>F)
#Time      2024187.608511    1  1523.368567  9.008821e-164
#Diet       108176.538530    1    81.411791   2.730843e-18
#Residual   764035.638024  575          NaN            NaN

Голова и хвост наборов данных одинаковы *, также означают, мин, макс, медиана веса и времени.

Ответы на вопрос(1)

Ваш ответ на вопрос