999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

R語言在統計學教學中的運用

2018-12-25 08:30:04金欣雪
唐山師范學院學報 2018年6期
關鍵詞:分類語言方法

金欣雪

?

R語言在統計學教學中的運用

金欣雪

(阜陽師范學院 數學與統計學院,安徽 阜陽 236037)

通過比較R在bagging、隨機森林、支持向量機、最近鄰、人工神經網絡等現代回歸方法中所發揮的不同作用,進一步說明了R語言在統計教學中的優勢。

統計學教學;R語言;現代回歸分析

1 R語言

R語言是屬于GNU系統的一個自由、免費、源代碼開放的軟件,它主要用于統計計算和統計制圖[1-2]。它為許多不同領域的工作者提供了豐富的程序包和函數,以及能夠滿足不同專家學者交流需要的強大社區資源[3]。本文通過一些經典的例子,探討在統計教學過程中R語言的運用,引導學生掌握應用R語言解決實際問題的方法。

2 R語言在統計學教學中的應用舉例

2.1 數據描述

應用舉例中所選取的數據為美國波士頓郊區的房價數據,共有506個觀測值,14個變量(13個連續性變量,1個分類變量),具體如表1所示。

表1 變量名稱及含義

2.1.1 描述數據集的基本信息

首先讀入數據:

c=read.table("D:/R/housing2.data.txt",

header=T);

對數據集的基本信息特征進行描述:

summary(c)

CRIM的均值為3.61,最小值為0.006,最大值為88.98,25%的值小于0.08,中位數為0.26,75%的值小于3.68;

RM的均值為6.29,最小值為3.56,最大值為8.78,25%的值小于5.89,中位數為6.21,75%的值小于6.62;

LSTAT的均值為12.65,最小值為1.73,最大值為37.97,25%的值小于6.95,中位數為11.36,75%的值小于16.95;

2.1.2 繪制變量LSTAT~CHAS,RM~CHAS的箱線圖

圖1 箱線圖

par(mfrow=c(1,2))

boxplot(LSTAT~CHAS, data=c, col=c('red', 'green'), main="LSTAT~CHAS")

boxplot(RM~CHAS, data=c, col=c('red', 'green'), main="RM~CHAS")

從圖1可以看出,LSTAT的值在CHAS為1時,比CHAS為0時集中;RM值在CHAS為1時,比CHAS為0時分散。

2.1.3 進一步檢驗變量間的相關性

bb=cor(c[,-c(4)]);bb;#變量間的相關性

symnum(cor(c[,-c(4)]));

kappa(bb,exact=TRUE);#共線性檢驗

從變量之間的相關程度圖中可以看出,大多數變量之間相關程度不高,但某些變量之間的相關程度很大,變量之間存在著多重共線性的影響。

2.2 現代回歸與分類

分別按10%、30%、50%分層抽樣建立訓練集與測試集。通過對三者的比較,利用30%分層抽樣建立的訓練集與測試集的NMSE最低。在后續的現代分類與回歸的方法的研究中,我們均采用30%分層抽樣建立的訓練集與測試集。

在建立訓練集和測試集之前定性變量先因子化:

c$CHAS=factor(c$CHAS)

attach(c);summary(c)

#建立訓練集與測試集:

按30%分層抽樣建立訓練集與測試集

m=506;

val1 <- sample(1:m, size = round(m/3), replace = FALSE, prob = rep(1/m, m))

wsamp3 <- c[-val1,];dim(wsamp3); #選取2/3作為訓練集(337*14)

wsamp3;

wtsamp3 <- c[val1,];dim(wtsamp3)#選取1/3作為測試集(169*14)

wtsamp3;

2.2.1 Bagging (bootstrap aggregating)

Bagging通過對訓練樣本進行放回抽樣,每次抽取樣本量同樣的觀測值,所產生的個不同樣本生成個決策樹,在回歸時,因變量的預測值由這些樹的結果平均得出[4]。

library(ipred)

bagging.MEDV=bagging(wsamp3$MEDV~.,data=wsamp3)

attributes(bagging.MEDV)

baggingtrain=predict(bagging.MEDV,wsamp3)

baggingpre=predict(bagging.MEDV,wtsamp3)

baggingpre

cat("Bagging訓練集上的NMSE為:", mean((wsamp3$MEDV-as.numeric(baggingtrain))^2)/mean((mean(wsamp3$MEDV)- wsamp3$MEDV)^2)," ")

#Bagging訓練集上的NMSE為: 0.132 848 2

cat("Bagging測試集上的NMSE為:", mean((wtsamp3$MEDV-as.numeric(baggingpre))^2)/mean((mean(wtsamp3$MEDV)-wtsamp3$MEDV)^2), " ")

#Bagging測試集上的NMSE為: 0.275 671 7

2.2.2 隨機森林

隨機森林的樣本數目遠大于bagging。且樣本隨機,每棵樹、每個節點的產生都有很大的隨機性。隨機森林不修剪每個樹,讓其盡量增長,以此得出更精確的結果。此外,在大的數據庫中的運行很有效率,還能給出分類中各個變量的重要性[5]。

library(randomForest)#調用randomForest包

randomforest.MEDV=randomForest(MEDV ~ ., data=wsamp3, importance=TRUE, proximity= TRUE);

randomforesttrain=predict(randomforest.MEDV, wsamp3)

randomforestpre=predict(randomforest.MEDV, wtsamp3)

cat("randomforest訓練集上的NMSE為:", mean((wsamp3$MEDV-as.numeric(randomforesttrain))^2)/mean((mean(wsamp3$MEDV)-wsamp3$MEDV)^2), " ")

#randomforest訓練集上的NMSE為:0.032 230 1

cat("randomforest測試集上的NMSE為:", mean((wtsamp3$MEDV-as.numeric(randomforestpre))^2)/mean((mean(wtsamp3$MEDV)-wtsamp3$MEDV)^2), " ")

#randomforest測試集上的NMSE:0.123 473 3

進一步給出分類中各個變量的重要性:

round(importance(randomforest.MEDV),3)

print(randomforest.MEDV);

par(mfrow=c(1,2));

for(iin1:2)barplot(t(importance(randomforest. MEDV))[i,],cex.names = 0.7)

圖2中左圖是用移去一個變量時導致的平均精確度減少來衡量的,右圖是用均方誤差來衡量的。房間數目(RM)和較低地位人的比率(LSTAT)是最突出的。

圖2 隨機森林

2.2.3 最近鄰方法

最近鄰方法基于訓練集對測試集進行分類或回歸。在分類中,個訓練集點中多數所歸屬類型決定了距離其最近測試點的歸類。在回歸中,離測試點最近的個訓練集點對應因變量值的平均值即為其預測值[6]。

library(kknn);

a=kknn(MEDV~.,wsamp3,wtsamp3);

summary(a);

kknntrain=predict(a, wsamp3)

kknnpre=predict(a, wtsamp3)

cat("kknn訓練集上的NMSE為:", mean((wsamp3$MEDV-as.numeric(kknntrain))^2)/mean((mean(wsamp3$MEDV)-wsamp3$MEDV)^2), " ")

#kknn訓練集上的NMSE為:1.632 342

cat("kknn測試集上的NMSE為:", mean((wtsamp3$MEDV-as.numeric(kknnpre))^2)/mean((mean(wtsamp3$MEDV)-wtsamp3$MEDV)^2), " ")

#kknn測試集上的NMSE為:0.274 189 5

2.2.4 人工神經網絡

人工神經網絡是對自然的神經網絡的模仿;可以有效解決很復雜的有大量互相相關變量的回歸和分類問題[7]。

library(mlbench);

library(nnet);

dd=nnet(MEDV~., data =wsamp3, size = 2, rang = 0.1, decay = 5e-4, maxit = 1 000);

nnettrain=predict(dd, wsamp3)

nnetpre=predict(dd, wtsamp3)

cat("nnet訓練集上的NMSE為:", mean((wsamp3$MEDV-as.numeric(nnettrain))^2)/mean((mean(wsamp3$MEDV)-wsamp3$MEDV)^2), " ")

#nnet訓練集上的NMSE為:6.291 331

cat("nnet測試集上的NMSE為:", mean((wtsamp3$MEDV-as.numeric(nnetpre))^2)/mean((mean(wtsamp3$MEDV)-wtsamp3$MEDV)^2), " ")

#nnet測試集上的NMSE為:6.956 288

圖3 人工神經網路

2.2.5 支持向量機

支持向量機最常用的為最大間隔原則,即分隔直線或超平面兩邊的不包含觀測點的區域越寬越好[8]。

圖4 支持向量機

library(mlbench);

library(e1071);

gg=svm(MEDV ~ ., data = wsamp3, kernal= "sigmoid")

e1071train=predict(gg, wsamp3)

e1071pre=predict(gg, wtsamp3)

cat("e1071訓練集上的NMSE為:", mean((wsamp3$MEDV-as.numeric(e1071train))^2)/mean((mean(wsamp3$MEDV)-wsamp3$MEDV)^2), " ")

e1071訓練集上的NMSE為: 0.090 234 8

cat("e1071測試集上的NMSE為:", mean((wtsamp3$MEDV-as.numeric(e1071pre))^2)/mean((mean(wtsamp3$MEDV)-wtsamp3$MEDV)^2), " ")

e1071測試集上的NMSE為: 0.211 448

2.3 綜合比較

表2 綜合比較

表2是采用不同方法處理時得到的NMSE值比較。從中可以看出,randomForest得到的訓練集和測試集的NMSE最小,所以randomForest方法更精確。

[1] TORGO L.數據挖掘與R語言[M].北京:機械工業出版社,2013:4-8.

[2] 羌雨.基于R語言的大數據審計方法研究[J].中國管理信息化,2016,(11):46-48.

[3] 李雄英.基于R語言的統計教學應用初探[J].高教學刊, 2017,(1):50-53.

[4] 王斌會.多元統計分析及R語言建模[M].廣州:暨南大學出版社,2015:176-187.

[5] 楊霞,吳東偉.R語言在大數據處理中的應用[J].科技資訊,2013,(23):19-20.

[6] 吳喜之.復雜數據統計方法:基于R的應用[M].北京:中國人民大學出版社,2013:195-210.

[7] 湯銀才.R語言與統計分析[M].北京:高等教育出版社, 2008:135-142.

[8] 薛毅,陳立萍.統計建模與R軟件[M].北京:清華大學出版社,2007:162-178.

The Application of R Language in Statistics Teaching

JIN Xin-xue

(Department of Mathematics and Statistics, Fuyang Teachers College, Fuyang 236037, China)

The paper combined with examples.discusses the application in the teaching of statistics, compares the different roles R played in bagging, randomforest, svm, kknn, nnet, etc. modern regression methods, in order to further illustrate the advantages of R language software, combined with examples.

statistics teaching; R language; modern regression methods

G642.0

A

1009-9115(2018)06-0049-05

10.3969/j.issn.1009-9115.2018.06.011

全國統計科學研究項目(2017LY63),安徽省哲學社會科學規劃項目(AHSKY2018D63),安徽省教育廳重點項目(SK2017A0454),河北省科技廳重點項目(17454701D),阜陽市政府-阜陽師范學院橫向合作項目(XDHXTD201709),阜陽師范學院人文社會科學研究重點項目(2019FSSK04ZD)

2018-03-07

2018-05-02

金欣雪(1985-),女,安徽渦陽人,博士,講師,研究方向為應用統計數據分析。

(責任編輯、校對:趙光峰)

猜你喜歡
分類語言方法
分類算一算
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
分類討論求坐標
數據分析中的分類討論
讓語言描寫搖曳多姿
教你一招:數的分類
累積動態分析下的同聲傳譯語言壓縮
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
我有我語言
主站蜘蛛池模板: 成色7777精品在线| 少妇精品网站| 亚洲高清中文字幕在线看不卡| 国产av剧情无码精品色午夜| 91无码人妻精品一区| 亚洲天堂首页| 国产极品美女在线播放| 黄色污网站在线观看| 2018日日摸夜夜添狠狠躁| 免费三A级毛片视频| 一区二区在线视频免费观看| 72种姿势欧美久久久久大黄蕉| 无码一区二区波多野结衣播放搜索| 日本高清在线看免费观看| 欧美精品成人一区二区视频一| 无码aⅴ精品一区二区三区| 亚洲成人黄色网址| 国产免费好大好硬视频| 久久久久亚洲AV成人网站软件| 福利国产在线| 四虎综合网| 亚洲欧洲天堂色AV| 极品私人尤物在线精品首页| 毛片在线区| 不卡无码h在线观看| 在线看AV天堂| 91青青草视频在线观看的| 熟妇丰满人妻| 亚洲中文字幕在线观看| 国产毛片基地| 午夜日韩久久影院| 久久久久青草大香线综合精品| 亚洲成人免费在线| 69综合网| 看看一级毛片| 成年女人a毛片免费视频| av手机版在线播放| 国产伦片中文免费观看| 亚洲精品动漫| 91无码人妻精品一区| 国产在线观看精品| 久无码久无码av无码| 国产精品第5页| 人人看人人鲁狠狠高清| 国产精品白浆无码流出在线看| 日韩精品高清自在线| 国产麻豆va精品视频| 欧美精品1区2区| 欧美伦理一区| 亚洲天堂视频在线观看免费| 精品少妇人妻一区二区| 欧美自慰一级看片免费| 色婷婷久久| 国产一区二区三区在线观看免费| 成人无码一区二区三区视频在线观看| 亚洲婷婷丁香| 幺女国产一级毛片| 日本免费福利视频| 91网红精品在线观看| 九九热视频在线免费观看| 91av国产在线| 亚洲午夜国产精品无卡| 日韩AV无码一区| 亚洲男人的天堂视频| 国产99视频精品免费视频7| 久久精品这里只有国产中文精品| 好吊色国产欧美日韩免费观看| 国产激爽大片在线播放| 18禁高潮出水呻吟娇喘蜜芽| 97se亚洲综合在线| 亚洲性影院| 69视频国产| 超级碰免费视频91| 午夜精品区| 亚洲色图在线观看| 久久久久亚洲精品成人网| 99热这里只有成人精品国产| www亚洲天堂| 免费无码AV片在线观看中文| 一区二区三区四区在线| 国产美女精品一区二区| 91视频国产高清|