多元统计分析及R语言建模(王斌会)第五、六、七章答案
3)某銀行從歷史貸款客戶中隨機抽取16個樣本,根據設計的指標體系分別計算他們的“商業信用支持度”()和“市場競爭地位等級”(),類別變量G中,1代表貸款成功,2代表貸款失敗。
表1.銀行客戶樣本數據
| 客戶 | x1 | x2 | G | 客戶 | x1 | x2 | G |
| 1 2 3 4 5 6 7 8 | 40 35 15 29 1 -2 22 10 | 1 1 -1 2 2 1 0 1 | 1 1 1 1 1 1 1 1 | 9 10 11 12 13 14 15 16 | 125 100 350 54 4 2 -10 131 | -2 -2 -1 -1 -1 0 -1 -2 | 2 2 2 2 2 2 2 2 |
(1)為了給正確貸款提供決策支持,請建立Logistic模型進行分析;
R語言程序代碼如下:
> library(openxlsx)
> a = read.xlsx('E:/mvexer5.xlsx','E5.3')#查找并讀取數據對應的表格
> a
> logit.glm <- glm(G ~ x1 + x2,data = a) #建立Logistic回歸模型
> summary(logit.glm)#Logistic回歸模型結果
在Rstudio中運行結果如下:
圖1.讀取E5.3表格中的信息
圖2.建立Logistic回歸模型
?????? 由圖可知logistic擬合的模型x1(商業信用支持度)的P=0.5712>0.05,x2(市場競爭地位等級)的P=0.0013<0.05,說明商業信用支持度對貸款沒有顯著影響,市場競爭地位等級對貸款有影響。
(2)根據建立的模型,判定是否給某用戶(x1 = 131,x2 = -2)提供貸款
R語言程序代碼如下:
> logit.step <- step(logit.glm,direction = 'both')#逐步篩選法變量選擇
> summary(logit.step)#結果
> pre1 <- predict(logit.glm,data.frame(x1 = 131,x2 = -2))#Logistic回歸模型預測
> pre1
> pre2 <- predict(logit.step,data.frame(x1 = 131,x2 = -2))#逐步篩選法預測
> pre2
在Rstudio中運行結果如下:
圖3.逐步篩選法及兩種預測
由圖知:兩種預測都為2,所以不會給用戶提供貸款。
1)判別分析的基本思想是什么?
Fisher判別法:基本思想是投影,具體地說,就是將k維數據投影到某一個方向,使得投影后類間的差異盡可能大,各類內部的差異盡可能小。
距離判別法:其基本思想是根據已知分類數據,分別計算各類的重心即各組的均值,判別準則是對任給的一次觀測,若它與第i類的重心距離最近,就認為它來自第i類。
Bayes判別法:假設對研究對象的總體已有一定的認知,常用先驗概率分布來描述這種認知,然后抽取一個樣本,用樣本來修正已有的認知(先驗概率的分布),得到后驗概率分布。各種統計判斷都是通過后驗概率分布來進行。
5)植物分類的判別分析:費歇(Fisher)于1936年發表的鳶尾花(Iris)數據被廣泛的作為判別分析的例子。數據是對3種鳶尾花(g):剛毛鳶尾花(第1組)、變色鳶尾花(第2組)和佛吉尼亞鳶尾花(第3組)各抽取一個容量為50的樣本,測量其花萼長(sepallen,),花萼寬(sepalwide, )、花瓣長(petallen, )、花瓣寬(petalwide, ),單位為mm,數據見表2。試對該數據進行Fisher判別分析和Bayes判別分析。
表2.鳶尾花(Iris)數據
| 第一組 | 第二組 | 第三組 | ||||||||||||
| i | i | i | ||||||||||||
| 1 2 3 4 5 6 … 46 47 48 49 50 | 5.1 4.9 4.7 4.6 5.0 5.4 … 4.8 5.1 4.6 5.3 5.0 | 3.5 3.0 3.2 3.1 3.6 3.9 … 3 3.8 3.2 3.7 3.3 | 1.4 1.4 1.3 1.5 1.4 1.7 … 1.4 1.6 1.4 1.5 1.4 | 0.2 0.2 0.2 0.2 0.2 0.4 … 0.3 0.2 0.2 0.2 0.2 | 51 52 53 54 55 56 … 96 97 98 99 100 | 7.0 6.4 6.9 5.5 6.5 5.7 … 5.7 5.7 6.2 5.1 5.7 | 3.2 3.2 3.1 2.3 2.8 2.8 … 3 2.9 2.9 2.5 2.8 | 4.7 4.5 4.9 4 4.6 4.5 … 4.2 4.2 4.3 3 4.1 | 1.4 1.5 1.5 1.3 1.5 1.3 … 1.2 1.3 1.3 1.1 1.3 | 101 102 103 104 105 106 … 146 147 148 149 150 | 6.3 5.8 7.1 6.3 6.5 7.6 … 6.7 6.3 6.5 6.2 5.9 | 3.3 2.7 3 2.9 3 3 … 3 2.5 3 3.4 3 | 6 5.1 5.9 5.6 5.8 6.6 … 5.2 5 5.2 5.4 5.1 | 2.5 1.9 2.1 1.8 2.2 2.1 … 2.3 1.9 2 2.3 1.8 |
將mvexer5.xlsx中E6.5中表格里面的信息添加G一列,并將第一組G設為1,第二組設為2,第三組設為3并放入a1表中。
R語言程序代碼如下:
> library(openxlsx)
> a = read.xlsx('E:/mvexer5.xlsx',sheet = 'a1') #查找并讀取數據對應的表格
> a
#Fisher判別分析
> attach(a)#綁定數據
> library(MASS)
> ld=lda(G ~ x1+x2+x3+x4,data = a);ld
> pre = predict(ld)#根據判別模型預測所屬類別
> G1 = pre$class
> head(data.frame(G,G1))#顯示結果
> tab1 = table(G,G1);tab1#判別矩陣
> sum(diag(prop.table(tab1)))#判對率
#Bayes判別分析
> ld=lda(G ~ x1+x2+x3+x4,data = a,prior = c(1,2,3)/6);ld#先驗概率不等的判別模型
> pre2 = predict(ld)
> G2 = pre2$class
> tab2 = table(G,G2);tab2#判別矩陣
> sum(diag(prop.table(tab2)))#判對率
在Rstudio中運行結果如下:
?
圖4.讀取表格a1的數據
圖5.Fisher判別分析
圖6.Bayes判別分析
5)下面給出5個元素兩兩之間的距離,試用各種距離對其進行聚類分析,畫出聚類圖,并按兩類、三類進行分類。
?
R語言程序代碼如下:
> x1 <- c(0,10,13,12,11)
> x2 <- c(10,0,25,24,23)
> x3 <- c(13,25,0,1,3)
> x4 <- c(12,24,1,0,2)
> x5 <- c(11,23,3,2,0)
> x <- rbind(x1,x2,x3,x4,x5)
> y <- as.dist(x)
> y
#最短距離法
> hc = hclust(y,"single");hc
> names(hc)
> data.frame(hc $ merge,hc $ height)
> plot(hc);rect.hclust(hc,2)
> cutree(hc,2)
> plot(hc);rect.hclust(hc,3)
> cutree(hc,3)
#最長距離法
> hc = hclust(y);hc
> names(hc)
> data.frame(hc $ merge,hc $ height)
> plot(hc);rect.hclust(hc,2)
> cutree(hc,2)
> plot(hc);rect.hclust(hc,3)
> cutree(hc,3)
#類平均法
> hc = hclust(y,"average");hc
> names(hc)
> data.frame(hc $ merge,hc $ height)
> plot(hc);rect.hclust(hc,2)
> cutree(hc,2)
> plot(hc);rect.hclust(hc,3)
> cutree(hc,3)
在Rstudio中運行結果如下:
圖7.最短距離法
圖8.最長距離法
圖9.類平均法
2)為了比較全國31個省、市、自治區1996年和2007年城鎮居民生活消費的分布規律,根據調查資料做區域消費類型劃分。并將1996年和2007年數據進行對比分析。今收集了8個反應城鎮居民生活消費結構的指標,…試對該數據進行聚類分析。
x1——人均食品支出(元/人)
x2——人均衣著商品支出(元/人)
x3——人均家庭設備用品及服務支出(元/人)
x4——人均醫療保健支出(元/人)
x5——人均交通和通信支出(元/人)
x6——人均娛樂教育文化服務支出(元/人)
x7——人均居住支出(元/人)
x8——人均雜項商品和服務支出(元/人)
R語言程序代碼如下:
> library(openxlsx)
> a = read.xlsx('E:/mvexer5.xlsx',sheet = 'E7.2',rowNames = T);a
#K-means聚類
> km = kmeans(a,2)#分二類
> km$cluster
> km = kmeans(a,3)#分三類
> km$cluster
> km = kmeans(a,4)#分四類
> km$cluster
在Rstudio中運行結果如下:
圖10.讀取E7.2表格中的數據
圖11.K-means聚類分析
總結
以上是生活随笔為你收集整理的多元统计分析及R语言建模(王斌会)第五、六、七章答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32单片机端口映射_STM32F1
- 下一篇: 记录 UiPath 学习中遇到的一些问题