【大数据分析与挖掘】matlab实现——一元线性回归模型

实验一 :一元线性回归模型

一、实验目的

掌握有关一元线性回归的理论知识,从中了解回归分析方法的数学模型、基本思想、方法及应用。

二、实验任务

对一元线性回归实例进行编码计算,实例如下:

三、实验过程

四、实验结果

实现平台:Matlab 2022A
实验代码:

% 输入数据
years = 1991:2002;
x=1:12;
y = [1659,1989,2195,2255,2329,2375,2364,2354,2418,2534,2568,2835]; % 请替换成您的实际数据

% 计算x平均和y平均
x_mean = mean(x);
y_mean = round(mean(y,"all"));

% 计算l_xx, l_yy, l_xy
l_xx = sum((x - x_mean).^2);
l_yy = sum((y - y_mean).^2);
l_xy = sum((x - x_mean) .* (y - y_mean));

% 计算系数b^和a^
b_hat = l_xy / l_xx;
a_hat = y_mean - b_hat * x_mean;

% 计算相关系数R
R = l_xy / sqrt(l_xx * l_yy);

% 预测分析
x_new = 14;
Y_2004 = a_hat + b_hat * x_new;

% 计算标准误差
n = length(years);
s_e = sqrt((1 / (n - 2)) * (l_yy - b_hat * l_xy));

% 计算t值
alpha = 0.05; % 置信水平为95%
t_alpha = tinv(1 - alpha / 2, n - 2);

% 计算预测值的标准误差
Delta = t_alpha * s_e * sqrt(1 + 1/n + (x_new - x_mean)^2 / l_xx);

% 计算置信区间
CI_lower = Y_2004 - Delta;
CI_upper = Y_2004 + Delta;

% 输出结果
fprintf('预测模型为: y_hat=%.3f +%.3f x\n', a_hat,b_hat);
fprintf('预测的水路货运量为: %.2f\n', Y_2004);
fprintf('95%% 的置信区间为: [%.2f, %.2f]\n', CI_lower, CI_upper);

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Robbi_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值