T_T*_*T_T 5 python regression r
我对R和Python都很陌生,并试图比较与回归分析残差相关的计算结果.我想知道什么是"错误的",或者如何"解释"它(即它是否是预期的东西).请注意,R和Python使用相同的数据.
R代码
# data
y <- c(3.099999905, 3.24000001, 3, 6, 5.300000191,
8.75, 11.25, 5, 3.599999905, 18.18000031)
x <- c(11, 12, 11, 8, 12, 16, 18, 12, 12, 17)
df <- data.frame(wage = y, educ = x)
# OLS
mod <- lm(wage ~ educ, data=df)
summary(mod)
# residuals
u.hat <- resid(mod)
mean(u.hat)
var(u.hat)
sd(u.hat)
cor(df$educ, u.hat)
Run Code Online (Sandbox Code Playgroud)
Python代码
import numpy as np
import pandas as pd
import statsmodels.formula.api as smf
# data
y = pd.Series([3.099999905, 3.24000001, 3, 6, 5.300000191,
8.75, 11.25, 5, 3.599999905, 18.18000031])
x = pd.Series([11, 12, 11, 8, 12, 16, 18, 12, 12, 17])
df = pd.DataFrame({'wage': y, 'educ': x})
# OLS
mod = smf.ols(formula='wage ~ educ', data=df)
results = mod.fit()
results.summary()
# residuals
uHat = results.resid.values
np.mean(uHat)
np.var(uHat)
np.std(uHat)
np.corrcoef(df['educ'].values, uHat)[0, 1]
Run Code Online (Sandbox Code Playgroud)
结果
问题?
平均值和相关系数的值不同,但它们足够接近零.这是否意味着我们可以将这些差异视为"预期"?
方差和标准差的值确实不同.我怎么能想到他们?也许,这不是预期的结果.我错过了什么?
感谢您的帮助.