[回归分析][14]--Logistic回归

时间:2023-01-01 16:49:25
[回归分析][14]--Logistic回归

  这应该是回归分析的最后一块知识点了。最后还会有一篇总结。那今天就好好讲一讲Logistic回归。
 
  Logistic回归是为了处理 y的值是0,1时,这时候若用普通最小二乘去回归,会产生0--1之间的数,故产生了Logistic回归,去计算概率。

  有两种情形:
  (1).可以分块计算概率的
    [回归分析][14]--Logistic回归
 如上图,我们可以根据在同一距离的射门次数和射门成功次数来计算出该位置的射门成功率。
[回归分析][14]--Logistic回归

 
 接着利用上式,(其中 Pi 是是概率大小),构造(4)式,利用最小二乘计算出b0,b1,带入 (1)式,这样每一个x就可一计算出概率Pi,若Pi>0.5,则取1,否则取0。

(2).不可以计算出概率的
   当然,有的时候我们得到的数据不会在同一个x值上收集这么多数据,这时候上述办法就不能用了。这里我就不具体讲证明来历了,直接说一下用软件怎么实现。
LogitModelFit[]
ProbitModelFit[]
上面一个是指数函数,一个是正态分布的分布函数(都是在0--1之间的函数)
也可以使用mma里的另外一种办法(我比较喜欢的),因为上面y的取值只能两值,多值无法计算
Classify[,Method -> "LogisticRegression"]
数据如下 
{53 -> 2, 57 -> 1, 58 -> 1, 63 -> 1, 66 -> 0, 67 -> 0, 67 -> 0, 
67 -> 0, 68 -> 0, 69 -> 0, 70 -> 0, 70 -> 0, 70 -> 1, 70 -> 1,
72 -> 0, 73 -> 0, 75 -> 0, 75 -> 2, 76 -> 0, 78 -> 0, 79 -> 0,
81 -> 0, 76 -> 0}
前面位温度,后面为该问温度下的零件损坏个数
c = Classify[data, Method -> "LogisticRegression"];
p0[temp_] := c[temp, {"Probability", 0}];
p1[temp_] := c[temp, {"Probability", 1}];
p2[temp_] := c[temp, {"Probability", 2}];
Plot[{p0[x], p1[x], p2[x]}, {x, 20, 80},PlotLabels -> {"损坏0个", "损坏1个", "损坏2个"}]
第2句是在temp度下损坏0的概率,第三第四句类似
则最后的得到的图如下
[回归分析][14]--Logistic回归
可以很明显看出概率的变坏趋势来。

以上,所有

圣诞快乐啦~~~~~

2016/12/25