Dav*_*vid 5 python statistics numpy scipy linear-regression
我想使用Python中的标准工具(numpy,pandas,scipy.stats等)来计算线性回归模型的beta或标准化系数。
我的一个朋友告诉我,这是在R中使用以下命令完成的:
lm(scale(y) ~ scale(x))
Run Code Online (Sandbox Code Playgroud)
目前,我正在Python中像这样计算它:
from scipy.stats import linregress
from scipy.stats.mstats import zscore
(beta_coeff, intercept, rvalue, pvalue, stderr) = linregress(zscore(x), zscore(y))
print('The Beta Coeff is: %f' % beta_coeff)
Run Code Online (Sandbox Code Playgroud)
有没有更直接的函数可以在Python中计算该数字?
小智 5
Python是一种通用语言,但是R是专门为统计而设计的。几乎总是要花几行代码才能在python中实现相同的(统计)目标,这完全是因为R可以在lm启动时立即准备好适合回归模型(使用)。
对您的问题的简短回答是:否-您的python代码已经非常简单了。
也就是说,我认为与您的R代码更接近的是
import statsmodels.api as sm
from scipy.stats.mstats import zscore
print sm.OLS(zscore(y), zscore(x)).fit().summary()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4974 次 |
| 最近记录: |