[Matlab篇 您所在的位置:网站首页 把approve对white进行ols回归 [Matlab篇

[Matlab篇

2024-07-14 04:56| 来源: 网络整理| 查看: 265

[Matlab]篇----回归分析(OLS篇) 一、简介:

最近在做回归分析方面的东西,网上查阅相关资料,通过实际调试,对调试结果进行总结。

回归分析法指利用数据统计原理,对大量统计数据进行数学处理,并确定因变量与某些自变量的相关关系,建立一个相关性较好的回归方程(函数表达式),并加以外推,用于预测今后的因变量的变化的分析方法。根据因变量和自变量的个数分为:一元回归分析和多元回归分析;根据因变量和自变量的函数表达式分为:线性回归分析和非线性回归分析。

分类:

1、根据因变量和自变量的个数来分类:一元回归分析和多元回归分析;

2、根据因变量和自变量的函数表达式来分类:线性回归分析和非线性回归分析。

主要解决的问题:

回归分析法主要解决的问题:

1、确定变量之间是否存在相关关系,若存在,则找出数学表达式;

2、根据一个或几个变量的值,预测或控制另一个或几个变量的值,且要估计这种控制或预测可以达到何种精确度。

回归分析法的步骤

回归分析法的步骤如下:

1、根据自变量与因变量的现有数据以及关系,初步设定回归方程;

2、求出合理的回归系数;

3、进行相关性检验,确定相关系数;

4、在符合相关性要求后,即可根据已得的回归方程与具体条件相结合,来确定事物的未来状况,并计算预测值的置信区间。

有效性和注意事项

**有效性:**用回归分析法进行预测首先要对各个自变量做出预测。若各个自变量可以由人工控制或易于预测,而且回归方程也较为符合实际,则应用回归预测是有效的,否则就很难应用;

**注意事项:**为使回归方程较能符合实际,首先应尽可能定性判断自变量的可能种类和个数,并在观察事物发展规律的基础上定性判断回归方程的可能类型;其次,力求掌握较充分的高质量统计数据,再运用统计方法,利用数学工具和相关软件从定量方面计算或改进定性判断。

二、回归分析OLS

先写OLS.m的M文件,用来代替regress函数

function [beta_0 beta_1]=OLS(y,x) %Ordinary Linear Regression %其中 x,y 为样本构成的向量; %回归方程为 Simple regression: y=beta_0+x*beta_1+u; %y_mean=mean(y); %x_mean=mean(x); %beta_1=((x-x_mean)*(y-y_mean)')/((x-x_mean)*(x-x_mean)'); %beta_0=y_mean-beta_1*x_mean; %其中 u 为服从 N(0,sigma^2)随机变量; y_mean=mean(y); x_mean=mean(x); beta_1=((x-x_mean)*(y-y_mean)')/((x-x_mean)*(x-x_mean)'); beta_0=y_mean-beta_1*x_mean; end

然后写Solve_OLS.m的M文件,用来进行模拟;

function [b_0 b_1]=Solve_OLS(beta_0,beta_1,n,a,b,sigma) %已知 beta_0,beta_1,由 OLS 回归得 b_0,b_1.两者进行比较得到估计效果; %y=beta_0+beta_1*x+u 来得到; %x 为随机向量,u 为服从 N(0,sigma^2)随机变量; %n 为模拟数据量,比如 1,10,100,1000 等; %x=a+b*rand(1,n);%产生(a,a+b)区间上的随机向量; %mu= ;sigma= ;%随机矩阵服从均值为 mu,方差为 sigma 的正态分布 %M= ;N= %M,N 为产生[M,N]的随机矩阵 %x=mu+sqrt(sigma)*randn(M,N);%x 为新生成的矩阵[M,N],服从均值为 mu,方差为 sigma 的正态分布; x=a+b*rand(1,n);%产生(a,a+b)区间上的随机向量; %随机矩阵服从均值为 0,方差为 sigma 的正态分布 u=sqrt(sigma)*randn(1,n); y=beta_0+beta_1*x+u; %用 OLS 函数进行回归即可:[beta_0 beta_1]=OLS(y,x); [b_0 b_1]=OLS(y,x); sprintf('已知参数\n\tbeta_0=%0.5g\n\tbeta_1=%0.5g\n 模拟后,OLS 估计值为\n\tbeta_0=%0.5g\n\tbeta_1=%0.5g',beta_0,beta_1,b_0,b_1)

实现结果:

>> [b_0 b_1]=Solve_OLS(20,0.7,2,1,99,1) ans = 已知参数 beta_0=20 beta_1=0.7 模拟后,OLS 估计值为 beta_0=-10.527 beta_1=1.0462 b_0 = -10.526596648236350 b_1 = 1.046173953504647 >> [b_0 b_1]=Solve_OLS(20,0.7,100,1,99,1) ans = 已知参数 beta_0=20 beta_1=0.7 模拟后,OLS 估计值为 beta_0=19.959 beta_1=0.6994 b_0 = 19.959265445464375 b_1 = 0.699398956547863 >> [b_0 b_1]=Solve_OLS(20,0.7,10000,1,99,1) ans = 已知参数 beta_0=20 beta_1=0.7 模拟后,OLS 估计值为 beta_0=19.989 beta_1=0.7002 b_0 = 19.988943598135016 b_1 = 0.700196440073060 >>


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有