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

一、实验目的

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

二、实验任务

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

三、实验过程

四、实验结果

实现平台: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);

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐