python计算偶数平方和_如何使用Python和Numpy计算r平方?

本文介绍了如何使用Python的Statsmodels库计算高阶多项式的r平方,包括直接计算方法和公式API两种方式。同时,文中提供了对比不同方法(如Numpy、Scipy)计算线性回归r平方的基准测试,展示Statsmodels在计算效率上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我最初发布下面的基准是为了推荐numpy.corrcoef,愚蠢地没有意识到原始问题已经使用corrcoef并且实际上是在询问更高阶多项式拟合。我已经使用statsmodels为多项式r-squared问题添加了一个实际的解决方案,并且我已经离开了原始的基准测试,这些基准测试虽然偏离主题,但对某些人来说可能是有用的。

statsmodels能够直接计算多项式拟合的r^2,这里有两种方法......

import statsmodels.api as sm

import statsmodels.formula.api as smf

# Construct the columns for the different powers of x

def get_r2_statsmodels(x, y, k=1):

xpoly = np.column_stack([x**i for i in range(k+1)])

return sm.OLS(y, xpoly).fit().rsquared

# Use the formula API and construct a formula describing the polynomial

def get_r2_statsmodels_formula(x, y, k=1):

formula = 'y ~ 1 + ' + ' + '.join('I(x**{})'.format(i) for i in range(1, k+1))

data = {'x': x, 'y': y}

return smf.ols(formula, data).fit().rsquared # or rsquared_adj

为了进一步利用statsmodels,还应该查看拟合的模型摘要,该摘要可以在Jupyter / IPython笔记本中打印或显示为丰富的HTML表格。除了rsquared之外,结果对象还提供对许多有用的统计指标的访问。

model = sm.OLS(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值