tiaya01 2022-03-05 15:07 采纳率: 85.7%
浏览 83
已结题

pycharm运行不出答案,安装插件了。以前可以运行,代码没有错误

img


这是代码


'''非线性回归'''
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
import numpy as np
from numpy import pi
from sklearn.metrics import mean_squared_error, r2_score

def func(x,a,b,c):
    return a*np.sin(2*pi*x/12+b)+c

x=np.linspace(1,12,12)
y_max=[17, 19, 21, 28, 33, 38, 37, 37, 31, 23, 19, 18]
y_min=[-62, -59, -56, -46, -32, -18, -9, -13, -25, -46, -52, -58]

print('时间与最高温度的相关系数矩阵:\n',np.corrcoef(x,y_max)) #计算相关系数
print('时间与最低温度的相关系数矩阵:\n',np.corrcoef(x,y_min)) #计算相关系数

plt.figure(1)
plt.scatter(x,y_max,color='red',marker='.',label='Max')
plt.scatter(x,y_min,color='blue',marker='*',label='Min')
plt.legend(loc=2)
plt.xlabel('Month')
plt.ylabel('Temperature')
plt.show()

popt1,pcov1=curve_fit(func,x,y_max)
print('最高温度的拟合系数=',popt1)
popt2,pcov2=curve_fit(func,x,y_min)
print('最高温度的拟合系数=',popt2)

xt=np.linspace(1,12,120)
yhat1=func(xt,*popt1)
yhat2=func(xt,*popt2)
yh1=func(x,*popt1)
yh2=func(x,*popt2)

er1=mean_squared_error(y_max,yh1) #计算均方差
er2=mean_squared_error(y_min,yh2) #计算均方差
print('最高温度的均方差=',er1)
print('最高温度的均方差=',er2)
rt1=r2_score(y_max,yh1) #计算R方
rt2=r2_score(y_min,yh2) #计算R方
print('最高温度的R2=',rt1)
print('最低温度的R2=',rt2)

plt.figure(2)
plt.scatter(x,y_max,color='red',marker='.',label='Max')
plt.scatter(x,y_min,color='blue',marker='*',label='Mix')
plt.xlabel('Month')
plt.ylabel('Temperature')
plt.plot(xt,yhat1,color='red',linestyle='dashed',label='Max regression')
plt.plot(xt,yhat2,color='blue',label='Min regression')
plt.legend(loc=2)
plt.show()

  • 写回答

1条回答 默认 最新

  • 丨封尘绝念斩丨 2022-03-05 15:11
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月5日

悬赏问题

  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错