第6章 判别分析

文章会用到的数据请在这个网址下下载多元统计分析及R语言建模(第五版)数据
练习题
1)考虑两个数据集x1 = [3 7 2 4 4 7],x2 = [6 9 5 7 4 8]
(1)计算Fisher线性判别函数

library(MASS)
library(openxlsx)
x1 = c(3,2,4,6,5,4)
x2 = c(7,4,7,9,7,8)
y = c(1,1,1,2,2,2)
(data1 = data.frame(x1,x2,y))
plot(data1[,-3])
text(x1,x2,y,adj = -0.5)

x1_bar = data1[1:3,-3]
x1_bar

x2_bar = data1[4:6,-3]
x2_bar

(x1_mean = apply(x1_bar,2,mean))
(x2_mean = apply(x2_bar,2,mean))

Sp = matrix(c(1,1,1,2),ncol = 2)
Sp_re = solve(Sp)
(2 * cov(x1_bar) + 2 * cov(x2_bar)) / 4

#a = t(x1_mean - x2_mean)%*%Sp_re
#a用公式求判别直线
fy <- lda(y ~.,data = data1)
fy

table(predict(fy) $ class,data1 $ y)
#Fisher判别曲线是x1轴,有2个不同类别的点的投影是重合的
#判别这两个点的类别是会随机的


(2)用Bayes准则,在相同先验概率和相同代价下将观测值x0` = (2,7)分类到总体G1或G2。

predict(fy,data.frame(x1 = 2,x2 = 7)) $ class


Bayes准则,在相同先验概率和相同代价下将观测值x0` = (2,7)分类到总体G1

2)设n1 = 11个和n2 = 12个观测值分别取自两个随机变量X1和X2,假定这两个变量服从二元正态分布,且有相同的协方差矩阵为:…。
(1)构造样本的Fisher线性判别函数

x1_bar = rep(-1,2)
x2_bar = c(2,1)
S_p = matrix(c(7.3,-1.1,-1.1,4.8),ncol = 2)
solve(S_p)
a = t(x1_bar - x2_bar)%*%solve(S_p)
a


判别函数为y = -0.4906887 x1 - 0.5291162 x2

(2)将观测值x0` = (0,1)分配到总体G1或G2(假定有等代价和等先验概率)

(y1_bar = a %*% x1_bar)
(y2_bar = a %*% x2_bar)
x_0 = c(0,1)
y_0 = a %*% x_0
y1_bar > y2_bar
y_0 >= (y2_bar + y1_bar) / 2
c(y1_bar,y2_bar,y_0)             #距离哪个中心更近,被判为哪一类


因为y2_bar距离中心更近,所以观测值属于G2
3)以舒张期血压和血浆胆固醇含量预测被检查者是否患冠心病。测得15名冠心病人和16名健康人的舒张压x1(mmHg)及血浆胆固醇含量x2(mg/dl),…。
(1)对每一组数据用不同的符号,作两变量的散点图,观察它们在平面上的散布情况,该组数据做判别分析是否合适?

library(openxlsx)
d6.3 = read.xlsx('mvexer5.xlsx',sheet = 'E6.3',colNames = T)
head(d6.3)

attach(d6.3)
plot(x1,x2)                     #绘制散点图
text(x1,x2,Y,adj = -0.5)        #标记处途中原始点

由上图可知,该组数据适合做判别分析
(2)分别建立距离判别(等方差阵和不等方差阵)、Fisher判别和Bayes判别分析模型,计算各自的判别符合率,确定哪种判别方法最恰当。

library(MASS)              #距离判别模型
qda_1 = qda(Y ~ x1 + x2)
qda_1

#距离判别符合率
pre1 = predict(qda_1)
Y5 = pre1$class
tab1 = table(Y,Y5)
tab1

sum(diag(prop.table(tab1)))

#Fisher判别分析
lda_1 = lda(Y ~ x1 + x2)
lda_1

#Fisher判别符合率
pre2 = predict(lda_1)
Y6 = pre2$class
tab2 = table(Y,Y6)
tab2

sum(diag(prop.table(tab2)))

#Bayes判别分析
lda_2 = lda(Y ~ x1 + x2,prior = c(1,2)/3)
lda_2

#Bayes判别符合率
pre3 = predict(lda_2)
Y7 = pre3$class
tab3 = table(Y,Y7)
tab3

sum(diag(tab3))/sum(tab3)


由以上结果,根据各自的判别符合率大小可知,距离判别最恰当。
(3)绘制线性判别函数图。

plot(lda_1)


4)对于A股市场2009年陷入财务困境的上市公司(ST公司),我们收集了8家ST公司陷入财务困境前一年(2008年)的财务数据,同时对于财务良好的公司(非ST公司),收集了同一时期8家非ST公司对应的财务数据,…,数据涉及四个变量:资产负债率x1,流动资产周转率x2,总资产报酬率x3,和营业收入增长率x4,类别变量G中2代表ST公司,1代表非ST公司。
(1)分别建立线性判别、非线性判别和Bayes判别分析模型,计算各自的判别符合率,确定哪种判别方法最恰当;

library(openxlsx)
d6.4 = read.xlsx('mvexer5.xlsx',sheet = 'E6.4')
d6.4

attach(`d6.4`)
#建立线性判别模型
library(MASS)
lda_1 = lda(G ~ x1 + x2 + x3 + x4)
lda_1

#线性判别符合率
pre1 = predict(lda_1)
G1 = pre1$class
tab1 = table(G,G1)
tab1

sum(diag(prop.table(tab1)))

#非线性判别模型
qda_1 = qda(G ~ x1 + x2 + x3 + x4)
qda_1

#非线性符合率
pre2 = predict(qda_1)
G2 = pre2$class
tab2 = table(G,G2)
tab2

sum(diag(prop.table(tab2)))

#Bayes判别分析模型
lda_2 = lda(G ~ x1 + x2 + x3 + x4,prior = c(2,3)/5)
lda_2

#Bayes判别符合率
pre3 = predict(lda_2)
G3 = pre3$class
tab3 = table(G,G3)
tab3

sum(diag(prop.table(tab3)))


(2)某公司2008年财务数据为:x1 = 78.3563,x2 = 0.8895,x3 = 1.8001,x4 = 14.1002。试判定2009年该公司是否会陷入财务困境。

predict(qda_1,data.frame(x1 = 78.3563,x2 = 0.8895,x3 = 1.8001,x4 = 14.1002))


5)植物分类的判别分析:费歇(Fisher)于1936年发表的鸢尾花(Iris)数据被广泛的作为判别分析的例子。数据是对3种鸢尾花(g):刚毛鸢尾花(第1组)、变色鸢尾花(第2组)和佛吉尼亚鸢尾花(第3组)各抽取一个容量为50的样本,测量其花萼长(sepallen,x1),花萼宽(sepalwide,x2)、花瓣长(petallen,x3)、花瓣宽(petalwide,x4),单位为mm,…。试对该数据进行Fisher判别分析和Bayes判别分析。

library(openxlsx)
d6.5 = read.xlsx('mvexer5.xlsx',sheet = 'E6.5')
d6.5

#Fisher判别分析
attach(`d6.5`)
library(MASS)
lda_1 = lda(G ~ x1 + x2 + x3 + x4)
lda_1

pre1 = predict(lda_1)
G1 = pre1$class
head(data.frame(G,G1))

tab1 = table(G,G1)
tab1

diag(prop.table(tab1,1))

sum(diag(prop.table(tab1)))

#Bayes判别分析
lda_1 = lda(G ~ x1 + x2 + x3 + x4,prior = c(1,2,3)/6)
lda_1

pre2 = predict(lda_1)
G2 = pre2$class
tab2 = table(G,G2)
tab2

sum(diag(prop.table(tab2)))

多元统计分析及R语言建模(第五版)——第6章 判别分析课后习题相关推荐

  1. 多元统计分析及R语言建模(第五版)——第3章多元数据的直观表示课后习题

    第3章多元数据的直观表示 本文用到的数据可以去这个网址下下载多元统计分析及R语言建模(第5版)数据 练习题 2)表3-2是2004年广东省各市高新技术产品情况.试对资料按照本章介绍的多元图示方法做直观 ...

  2. 多元统计分析及R语言建模_自定义函数: msaR.R

    #*********************************************** #****** 多元统计分析及R语言建模(第五版)****** #****** 自定义函数: msaR ...

  3. 多元统计分析及R语言建模

    目录 一.数据矩阵数据框及R表示 1.创建向量和矩阵 1)创建一个向量 2)创建一个矩阵 2.矩阵其他运算 1)矩阵的转置,加法减,矩阵相乘,求矩阵C的逆 2)获得矩阵对角线元素 ,创建三阶单位矩阵 ...

  4. 多元统计分析及R语言建模(王斌会)第十、十一、十二章答案

    3)我国工农业产业系统的典型相关分析:首先将工业内部五个结构比重变量作为第一组分析变量:以农业产品为原料的生产部门的产值占总工业部门产值的比重:以非农业产品为原料的生产部门的产值占总工业部门产值的比重 ...

  5. 多元统计分析及R语言建模(王斌会)第八、九、十章答案

    1)试述主成分分析的基本思想 主成分分析是利用降维的思想,将多个变量转化为少数几个综合变量(即主成分),其中每个主成分都是原始变量的线性组合,各主成分之间互不相关,从而这些主成分能够反映始变量的绝大部 ...

  6. 多元统计分析及R语言建模#学习笔记

    最近在学习R语言,把书上的代码都敲一遍,仅供学习 函数c()创建向量 x1=c(171,175,159,155,152,158,154,164,168,166,159,164) x2=c(57,64, ...

  7. 多元统计分析及R语言建模(第五版)部分课后习题代码演示

    前言:我是lst,这是本学期课程内容,根据上课内容.参考书本.CSDN社区等来源,完成的部分课程习题代码.如有问题,欢迎大家批评指正 library(openxlsx)                 ...

  8. 数学建模笔记(十五):多元统计分析及R语言建模(判别分析、聚类分析、主成分分析、因子分析,含数据代码注释,均可供运行)

    文章目录 一.多元数据的数学表达 1.多元分析资料的一般格式与矩阵化表示 2.数据特征(一元数据与多元数据的均值和方差) 二.R软件基本使用 1.向量创建(c函数) 2.行列合并(rbind,cbin ...

  9. 2020春多元统计分析及R语言建模习题

    文章目录 第一章测试题 第二章测试题 第三章测试题 第四章测试题 第五章测试题 第六章测试题 第七章测试题 第八章测试题 第九章测试题 第十章测试题 第十一章测试题 第十二章测试题 第十三章测试题 第 ...

最新文章

  1. html下拉框由后端,select下拉框通过ajax获取后台的值
  2. python实现简单的api接口-使用Python编写API接口和使用API接口
  3. 什么是alpha测试_什么是ALPHA?
  4. 跟我学Shiro目录贴
  5. 天涯明月刀怎么导入php捏脸数据,天涯明月刀捏脸数据怎么导入 天涯明月刀捏脸数据在哪...
  6. 在html中定位属性怎么用,CSS元素定位的使用方法
  7. 使用了无效的sql语句_使用SQL语句创建数据库
  8. centos 解决“不在 sudoers 文件中。此事将被报告“的问题
  9. 计算一个连通分量中节点的个数的两种方法
  10. 扩展中断控制器8259实验_PCIe的中断机制
  11. 浅谈谷歌退出中国市场带来的问题
  12. OP-TEE 编译流程
  13. web打印模板神器reportbro—汉化及中文字体配置(上)
  14. Neo4j 爬坑笔记for3.2.6
  15. css的盒子模型与定位机制解读随记
  16. 我们的宇宙,在某种意义上,是最好的一个
  17. Android 头像选择(拍照、相册裁剪),含7.0的坑
  18. GNSS测量与数据处理(第十周)
  19. matlab解含字母方程,求助关于解含字母参数方程组的问题
  20. mysql导入报1449_mysqldump 1449错误解决办法

热门文章

  1. 打开Docx文件的方法
  2. 爱思助手(i4助手) v5.08 官方版​
  3. linux 下文件夹无法删除(报:Device or resource busy),然后进入文件夹也无法创建新的文件夹(Permission denied)
  4. oracle dba_waiters中的lockid是什么,Oracle 锁机制学习
  5. UE4让物体始终朝向摄像机(二)—RInterp To用法
  6. UG曲面造型——手机壳
  7. 基于C++和QT实现的个人通讯录管理系统
  8. 用计算机打出刚好遇见你,【计算机·故事】刚好遇见你 余生都是你
  9. 软件缺陷及其生命周期
  10. 4G无线遥控器RC遥控器方案【免费开源】DIY