Add*_*y K 10 python linear-regression statsmodels
OLSResults of
df2 = pd.read_csv("MultipleRegression.csv")
X = df2[['Distance', 'CarrierNum', 'Day', 'DayOfBooking']]
Y = df2['Price']
X = add_constant(X)
fit = sm.OLS(Y, X).fit()
print(fit.summary())
Run Code Online (Sandbox Code Playgroud)
将每个属性的P值显示为仅3个小数位.
我需要为每个属性提取p值等Distance,CarrierNum并以科学计数法打印出来.
余可使用提取的系数fit.params[0]或fit.params[1]等
需要获得所有P值.
所有P值为0的意思是什么?
小智 6
您可以在 for 循环中使用 fit.pvalues[attributeIndex] 来打印所有特征/属性的 p 值,而不是使用 fit.summary() ,如下所示:
df2 = pd.read_csv("MultipleRegression.csv")
X = df2[['Distance', 'CarrierNum', 'Day', 'DayOfBooking']]
Y = df2['Price']
X = add_constant(X)
fit = sm.OLS(Y, X).fit()
for attributeIndex in range (0, numberOfAttributes):
print(fit.pvalues[attributeIndex])
Run Code Online (Sandbox Code Playgroud)
=================================================== =======================
另外,所有 P 值均为 0 意味着什么?
这可能是一个好的结果。每一项的 p 值测试原假设,即系数 (b1, b2, ..., bn) 等于 0,对拟合方程没有影响 y = b0 + b1 x1 + b2 x2... 低p 值 (< 0.05) 表示您可以拒绝原假设。换句话说,具有低 p 值的预测变量可能对模型有意义,因为预测变量值的变化与响应变量 (y) 的变化相关。
另一方面,较大(不显着)的 p 值表明预测变量的变化与响应的变化不相关。
| 归档时间: |
|
| 查看次数: |
14883 次 |
| 最近记录: |