Logistic回归
一.回归分析简介 (1) 概念: 回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。运用十分广泛,回归分析按照涉及的变量的多少,分为一元回归和多元回归分析。二.regress函数 (1) 作用: 用于一元及多元线性回归,本质上是最小二乘法。 (2) 标准使用方式:图1.regress函数调用方式 (3) 实例使用方式: 如下图所示。x中存储多组变量,
一.回归分析简介
(1) 概念:
回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。运用十分广泛,回归分析按照涉及的变量的多少,分为一元回归和多元回归分析。
(2) 回归分析分类:
如图1所示:

二.regress函数
(1) 作用:
用于一元及多元线性回归,本质上是最小二乘法。
(2) 标准使用方式:

(3) 实例使用方式:
如下图所示。x中存储多组变量,每组以”;“分隔,同组不同变量以”,“分隔。y中存储每组变量的对应的值,以”;“分隔。回归分析常常不准确,提升有效数据数目可以提高精确度(多次循环无效)。

三.Logistic模型
(1) 概念:
如图4所示:

(2)概念详解 :
【1】实际运用的时候我们是要分析数据,预测数据。我们有许多的数据(自变量与对应的因变量),但是我们不清楚因变量与自变量的关系(要是清楚的话干嘛要回归-即已知数据求因变量与自变量的关系)。我们只能依靠以前的数据,即分析以前的自变量与因变量之间的关系,建立他们之间关系的模型,求出模型,期望用这个模型来评估或者预测未知的数据(一般是有自变量,用模型来预测因变量)。所以就是求模型(确定用什么模型),求参数(确定具体的模型)。
【2】对于Logistic回归模型的基本型形式我们记住即可(分母比分子多加1)。然后进行一定变换(不用弄清楚),就得到了ln(PI/(1-PI))=β0+β1x1+β2x2+…+βk xk。然后我们发现自变量表达式就变成线性的了,这样就简单很多,比如可以直接用regress函数求β0 β1…βk,则Logistic模型就直接建立成功了!
【3】对于后面那一段其实就是一个映射。即P仅取0或者1,导致了这个函数没有意义。其实想一想,这个现实问题诸如买不买,股票涨不涨,其实最终结果一定是true or false,但是其过程一定是一个概率,即使是确定性事情也不过是概率=1。所以这个函数和这个P相当于差了个 概率 的距离,所以我们就设 pi=β0+β1x1+β2x2+…+βk xk,要清楚pi属于[0,1]哈。至于前面最初那个Logistic表达式,表达式两端范围不相等,仅当作一个形式的表达式即可。所以可以直接当线性求解出各个β值。至于pi和P的关系也很简单,pi属于[0,1],而P=0 or P=1,如何把[0,1]映射到0和1上呢?很简单,在区间上划分一个点即可。如成绩S属于[0,100],而设及格与否为P,及格P=1,不及格P=0,如何映射呢?S>=60 P1;S<60 P=0。很简单对不对。这就是理论知识的全部,再看看实际运用,我们就可以掌握Logistic模型了。
(3)Logistic模型的建立 :
【0】设有原始数据X0,Y0。X0为自变量数据,Y0为因变量数据,且X0ij 决定Y0i。i属于[1,n],j属于[1,k]。Y表示理论因变量,X表示理论自变量。
【1】设定PI函数,即确定PI与Y的映射关系。即我们需要确定一个Y1,在PI>=Y1时Y=1,这就相当于问你概率大于多少时我们认为这件事情一定发生。我们不能主观回答,我们只能从已有数据Y0中分析。所以Y1=sum(Y0=1)/sum(Y0),sum表示的是变量个数。所以得到映射关系 PI>=Y1 Y=1 ; PI<Y1 Y=0。
【2】我们要求Logistic模型,即要求β各个值。即要求ln(PI/(1-PI))=β0+β1x1+β2x2+…+βk xk的线性回归,我们已经有X0,还需要ln(PI/(1-PI)),即还需要PI,那么只有Y0如何得到各个PI呢?PI映射到Y0简单,但映射回去就很“模糊”了,所以要具体情况具体考虑,按照实际情况分析Y0=1时,PI的值应该为多少,Y0=0时,PI应该为多少。如果没有,可以取区间中值.如Y=1,对应PI=Y1+(1-Y1)/2,如Y=1,Y1=60对应PI=80,同理Y=0则PI=0+Y1/2=Y1/2。
【3】根据第二步我们将所有的Y0转换为了PI0,再求得ln(PI0/(1-PI0))。得到线性回归模型的自变量值。然后由于有个β0,我们不妨(也不可以不采用这种方式)添加一个自变量Xi0=1,对应系数β0。总之我们已经得到了线性回归方程,求解线性回归模型即可得到各个β值。我们即可得到Logistic模型。
【4】得到Logistic模型后,我们即可以使用模型并且检验模型。检验模型只需使用Logistic模型基本形式带入X0求得Y,比较Y与YO符合度即可。使用模型即预测或者判断Y,我们将需要计算的自变量X带入模型即可得到模型预测值Y。
(4)Logistic模型使用实例 :
【1】题意如图5所示:
【2】PI与Y的映射函数(互相的两个函数)的设定理由与结果如图6所示:


%% 第2章 数学建模方法及Matlab实现
% 程序2-1: logistic方法Matlab实现程序
%--------------------------------------------------------------------------
%% 数据准备
clear all
clc
X0=xlsread('Ch3_logistic_ex1.xlsx', 'A2:C21'); % 回归数据X值
XE=xlsread('Ch3_logistic_ex1.xlsx', 'A2:C26'); % 验证与预测数据
Y0=xlsread('Ch3_logistic_ex1.xlsx', 'D2:D21'); % 回归数据P值
%--------------------------------------------------------------------------
%% 数据转化和参数回归
n=size(Y0,1);
for i=1:n
if Y0(i)==1
PI(i,1)=0.75;
else
PI(i,1)=0.25;
end
end
PI=log(PI./(1-PI));
X0=[ones(n,1) X0];
b=regress(PI,X0);
%--------------------------------------------------------------------------
%% 模型验证和应用
for i=1:size(XE,1)
Pai0=exp(b(1)+b(2)*XE(i,1)+b(3)*XE(i,2)+b(4)*XE(i,3))/(1+exp(b(1)+b(2)*XE(i,1)+b(3)*XE(i,2)+b(4)*XE(i,3)));
if Pai0<=0.5
P(i)=0;
else
P(i)=1;
end
end
%--------------------------------------------------------------------------
%% 显示结果
disp(['回归系数',num2str(b')])
disp(['评估结果',num2str(P)])
【4】标准建模代码如图6所示:

四.参考链接
更多推荐
所有评论(0)