用python处理excel数据、求线性回归方程的r值_大师网-Python 线性回归计算r-squared方法...

背景

计算线性回归a、b值后,希望计算r-squared,对比是否为最佳拟合

Excel拟合

368037.html

数据源

368037.html

拟合结果

Python拟合

import math

import numpy as np

from scipy import stats

testX = [174.5,171.2,172.9,161.6,123.6,112.1,107.1,98.6,98.7,97.5,95.8,93.5,91.1,85.2,75.6,72.7,68.6,69.1,63.8,60.1,65.2,71,75.8,77.8]

testY = [88.3,87.1,88.7,85.8,89.4,88,83.7,73.2,71.6,71,71.2,70.5,69.2,65.1,54.8,56.7,62,68.2,71.1,76.1,79.8,80.9,83.7,85.8]

def computeCorrelation(X, Y):

xBar = np.mean(X)

yBar = np.mean(Y)

SSR = 0

varX = 0

varY = 0

for i in range(0 , len(X)):

diffXXBar = X[i] - xBar

diffYYBar = Y[i] - yBar

SSR += (diffXXBar * diffYYBar)

varX += diffXXBar**2

varY += diffYYBar**2

SST = math.sqrt(varX * varY)

print ("使用math库:r:", SSR / SST,"r-squared:", (SSR / SST)**2)

return

computeCorrelation(testX, testY)

x = np.array(testX)

y = np.array(testY)

#拟合 y = ax + b

poly = np.polyfit(x, y, deg=1)

print("使用numpy库:a:" + str(poly[0]) + ",b:" + str(poly[1]))

def rsquared(x, y):

slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)

#a、b、r

print("使用scipy库:a:",slope,"b:", intercept,"r:", r_value,"r-squared:", r_value**2)

rsquared(testX, testY)

368037.html

Python拟合结果

相关链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
误差估计是线性回归模型中评估模型拟合程度的一种指标。在Python中,可以使用R-squared误差和均方根误差(RMSE)来评估线性回归模型的拟合效果。 R-squared误差(R平方)是一个介于0和1之间的,表示因变量的变异程度可以由自变量解释的比例。通常,R-squared越接近1,说明模型的拟合效果越好。 均方根误差(RMSE)衡量了模型预测与真实之间的平均差异程度。RMSE的越小,说明模型的预测能力越好。 在提供的引用中,第二个引用给出了一个使用梯度下降法解多元线性回归的示例。但是,在这个引用中没有提供具体的误差估计结果。我建议你使用第三个引用中的代码来计算误差估计。具体步骤如下: 1. 首先,确保你已经加载了必要的库(如pandas、matplotlib和statsmodels)。 2. 加载数据集并创建散点图,你可以使用如下代码: ```python import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('‪C:\Users\joyyiyi\Desktop\练习2.15.csv') plt.scatter(df['x'], df['y']) plt.show() ``` 3. 使用OLS方法进行线性回归建模并打印回归结果,你可以使用如下代码: ```python import statsmodels.api as sm X = sm.add_constant(df['x']) y = df['y'] model = sm.OLS(y, X).fit() print(model.summary()) ``` 4. 在回归结果中,你可以查看R-squared和RMSE来评估模型的拟合效果。 请注意,你可能需要根据你的数据集和需进行适当的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值