你当然可以用 statsmodels 和 pandas 做到这一点。这样的事情可能会让你开始
import pandas
import statsmodels.api as sm
from statsmodels.formula.api import ols
data = pandas.DataFrame([["A", 4, 0, 1, 27],
["B", 7, 1, 1, 29],
["C", 6, 1, 0, 23],
["D", 2, 0, 0, 20],
["etc.", 3, 0, 1, 21]],
columns=["ID", "score", "male", "age20", "BMI"])
print data.corr()
model = ols("BMI ~ score + male + age20", data=data).fit()
print model.params
print model.summary()
看看文档:
http://statsmodels.sourceforge.net/devel/
http://pandas.pydata.org/
编辑:我不熟悉术语多重相关系数,但我相信这只是多元回归模型的 R 平方的平方根,不是吗?
print model.rsquared**.5
print model.rsquared_adj**.5
这就是你所追求的吗?