在sklearn中计算f统计量。

问题描述 投票:0回答:1

我热衷于上网搜索,却找不到答案。

如何用sklearn计算f统计量?我真的要用手计算吗,给定公式。

f-statistic formula

(其中 𝑁是观测值的数量 𝐾是变量的数量)

还有......如果我用手计算,如何得到相关的p值?

scikit-learn linear-regression
1个回答
0
投票

希望能帮到你!要想找到f统计量,可以试试。

import sklearn
from sklearn.linear_model import LinearRegression

X, y = df[['x1','x2']], df[['y']]

model=LinearRegression().fit(X, y)

Rsq = model.score

fstat = (Rsq/(1-Rsq))*((N-K-1)/K) #you should find N and K yourself

要找p值,可以用python包symbulate来找

import symbulate as sm

dfN = 5 #degrees of freedom in the numerator of F-statistic
dfD = 2 #degrees of freedom in the denominator of F-statistic

pVal = 1-sm.F(dfN,dfD).cdf(fstat)
© www.soinside.com 2019 - 2024. All rights reserved.