python 多项式求系数_R与Python的不同多项式回归系数

在进行多项式回归时,发现在R和Python中得到的回归系数不同。R中的回归显示了更高的Intercept、X和X的平方项的系数,而Python中的结果则显示出不同的数值。尽管R-squared和F统计量相似,但系数的差异可能源于软件内部实现的差异或数据处理方式。问题在于理解造成这种差异的原因。
摘要由CSDN通过智能技术生成

我得到了不同的多项式回归系数

R

Python

.

X

Y

fm1

summary(fm1)

Call:

lm(formula = Y ~ X + I(X^2))

Residuals:

1 2 3 4 5 6

-1 1 -1 1 -1 1

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 6.00000 1.00000 6.000 0.00927 **

X 1.80000 0.25495 7.060 0.00584 **

I(X^2) -0.08000 0.01225 -6.532 0.00729 **

---

Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1

Residual standard error: 1.414 on 3 degrees of freedom

Multiple R-squared: 0.9441, Adjusted R-squared: 0.9068

F-statistic: 25.33 on 2 and 3 DF, p-value: 0.01322

anova(fm1)

Analysis of Variance Table

Response: Y

Df Sum Sq Mean Sq F value Pr(>F)

X 1 16.000 16.000 8.000 0.066276 .

I(X^2) 1 85.333 85.333 42.667 0.007292 **

Residuals 3 6.000 2.000

---

Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1

蟒蛇

Nitro = [0, 0, 10, 10, 20, 20]

Yield = [5, 7, 15, 17, 9, 11]

import pandas as pd

df3 = pd.DataFrame(

{

"Nitrogen": Nitro,

"Yield": Yield

}

)

from statsmodels.formula.api import ols

from statsmodels.stats.anova import anova_lm

Reg3 = ols("Yield ~ Nitrogen + I(Nitrogen^2)", data = df3)

Fit3 = Reg3.fit()

print(Fit3.summary())

OLS Regression Results

==============================================================================

Dep. Variable: Yield R-squared: 0.944

Model: OLS Adj. R-squared: 0.907

Method: Least Squares F-statistic: 25.33

Date: Fri, 27 Jul 2018 Prob (F-statistic): 0.0132

Time: 19:25:22 Log-Likelihood: -8.5136

No. Observations: 6 AIC: 23.03

Df Residuals: 3 BIC: 22.40

Df Model: 2

Covariance Type: nonrobust

===================================================================================

coef std err t P>|t| [0.025 0.975]

-----------------------------------------------------------------------------------

Intercept 10.0000 0.935 10.690 0.002 7.023 12.977

Nitrogen 2.2000 0.314 7.001 0.006 1.200 3.200

I(Nitrogen ^ 2) -2.0000 0.306 -6.532 0.007 -2.974 -1.026

==============================================================================

Omnibus: nan Durbin-Watson: 3.333

Prob(Omnibus): nan Jarque-Bera (JB): 1.000

Skew: 0.000 Prob(JB): 0.607

Kurtosis: 1.000 Cond. No. 30.4

==============================================================================

print(anova_lm(Fit3))

df sum_sq mean_sq F PR(>F)

Nitrogen 1.0 16.000000 16.000000 8.000000 0.066276

I(Nitrogen ^ 2) 1.0 85.333333 85.333333 42.666667 0.007292

Residual 3.0 6.000000 2.000000 NaN NaN

问题

为什么在R和Python中得到不同的回归系数?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值