设为首页 加入收藏

TOP

用贝叶斯判别分析再次预测股票涨跌情况(二)
2017-10-10 12:09:58 】 浏览:5995
Tags:贝叶斯 判别 分析 再次 预测 股票 涨跌 情况
] "class" "posterior" "x" > data.frame(lda.pred)[1:5,] class posterior.Down posterior.Up LD1 999 Up 0.4901792 0.5098208 0.08293096 1000 Up 0.4792185 0.5207815 0.59114102 1001 Up 0.4668185 0.5331815 1.16723063 1002 Up 0.4740011 0.5259989 0.83335022 1003 Up 0.4927877 0.5072123 -0.03792892 > table(lda.pred$class,Smarket.2005$Direction) Down Up Down 35 35 Up 76 106 > mean(lda.pred$class==Smarket.2005$Direction) [1] 0.5595238

比较一下上一篇逻辑回归(延伸阅读文献4)中的结果:

> glm.fit=glm(Direction~Lag1+Lag2,data=Smarket,family=binomial, subset=train)
> glm.probs=predict(glm.fit,newdata=Smarket[!train,],type="response") 
> glm.pred=ifelse(glm.probs >0.5,"Up","Down")
> table(glm.pred,Direction.2005)
        Direction.2005
glm.pred Down  Up
    Down   35  35
    Up     76 106
> mean(glm.pred==Direction.2005)
[1] 0.5595238

LDA的结果与逻辑回归完全一致!以一个数据分析狮敏锐的第六感,我们可以大胆猜测:LDA与逻辑回归这两种算法可能有某种内在联系!

这里不做严谨的推导(深层的推导可参考延伸阅读文献6),只作一个简单的验证比较。为了简单起见,只考虑二分类问题,多分类问题可同理类推。
$$
log(\frac{p_1(x)}{1-p_1(x)})=log(\frac{p_1(x)}{p_2(x)})=log(p_1(x))-log(p_2(x))=x*\frac{\mu_1-\mu_2}{\sigma^2}-\frac{\mu_1^2-\mu_2^2}{2\sigma^2}+log(\frac{\pi_1}{\pi_2})
$$
可见这仍是关于x的线性函数,与逻辑回归形式一致!虽然形式一致,但逻辑回归的参数是通过极大似然法估计出来的,LDA的参数是概率密度函数计算出来的。

由于LDA与逻辑回归形只是拟合过程不同,因此二者所得的结果应该是接近的。事实上,这一情况经常发生,但并非必然。LDA假设观测服从每一类的协方差矩阵都相同的正态分布,当这一假设近似成立时,LDA效果比逻辑回归好;相反,若这个假设不成立,则逻辑回归效果比LDA好。

下面练习QDA:

> qda.fit=qda(Direction~Lag1+Lag2,data=Smarket,subset=train)
> qda.fit
Call:
qda(Direction ~ Lag1 + Lag2, data = Smarket, subset = train)

Prior probabilities of groups:
    Down       Up 
0.491984 0.508016 

Group means:
            Lag1        Lag2
Down  0.04279022  0.03389409
Up   -0.03954635 -0.03132544
> qda.class=predict(qda.fit,Smarket.2005)$class
> table(qda.class,Direction.2005)
         Direction.2005
qda.class Down  Up
     Down   30  20
     Up     81 121
> mean(qda.class==Direction.2005)
[1] 0.5992063

可见QDA的准确率稍高于LDA。

参考文献

Gareth James et al. An Introduction to Statistical Learning.

延伸阅读

  1. 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
  2. 算法杂货铺——分类算法之贝叶斯网络(Bayesian networks)
  3. 协方差的意义和计算公式
  4. 逻辑回归模型预测股票涨跌
  5. 机器学习笔记 线性判别分析(上)
  6. 机器学习笔记 线性判别分析(中)
?
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【R】多元线性回归 下一篇R语言XML格式数据导入与处理

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目