我想比較兩個嵌套線性模型,稱它們爲m01和m02,其中m01是簡化模型,m02是完整模型。我想做一個簡單的F-測試,看看這個完整的模型是否會在縮減的模型上增加顯着的效用。如何做一個F檢驗來比較Python中的嵌套線性模型?
這是非常簡單的在R.例如:
mtcars <- read.csv("https://raw.githubusercontent.com/focods/WonderfulML/master/data/mtcars.csv")
m01 <- lm(mpg ~ am + wt, mtcars)
m02 <- lm(mpg ~ am + am:wt, mtcars)
anova(m01, m02)
給我下面的輸出:
告訴我,加入上午:重量交互項顯著改進模型。有沒有辦法在Python/sklearn/statsmodels中做類似的事情?
編輯:我看着this question發佈此一前想不通他們怎麼都是一樣的。另一個問題是對兩個向量進行F檢驗。這個問題是關於比較2個嵌套線性模型。
我覺得這是我需要的:
但我不知道究竟通過這個功能。如果任何人可以提供或指出一個例子,那將是非常有用的。
您可以嘗試sklearn.model_selection http://scikit-learn.org/stable/modules/classes.html#module-sklearn.model_selection 從sklearn.feature_selection進口f_regression –
重複的標誌是不正確。正如編輯中提到的,這是兩種不同的f檢驗。 – user333700
爲答案,請參閱statsmodels anova_lm http://www.statsmodels.org/dev/anova。html來比較嵌套模型,OLS結果還有三個compare_xxx_test方法用於直接測試嵌套限制與無限制模型。 http://www.statsmodels.org/dev/generated/statsmodels.regression.linear_model.OLSResults.html – user333700