剛剛學(xué)習(xí)數(shù)據(jù)分析的人應(yīng)該知道回歸分析是作為預(yù)測用的一種模型,它主要是通過函數(shù)來表達(dá)因變量(連續(xù)值)和自變量變量的關(guān)系,,通俗的來說就是Y和X的關(guān)系通過公式表達(dá)出來,;這樣能夠表明因變量和自變量之間的顯著關(guān)系并且是函數(shù)關(guān)系,,還可以表明多個(gè)自變量對(duì)一個(gè)因變量的影響強(qiáng)度,,回歸分析主要運(yùn)用在預(yù)測分析上,,雖然說是預(yù)測,,但是有時(shí)候我們的回歸模型只是被用來解釋現(xiàn)場,,并不需要去預(yù)測,,例如,,科學(xué)家猜想人的體重和某種特定的食物消耗有關(guān); 1,、線性回歸 在古典的線性回歸模型中是要滿足幾個(gè)假定: A假設(shè)自變量和因變量存在線性關(guān)系,具體的說就是假設(shè)因變量Y,,是一些自變量X1,,X2,,..,XN的一個(gè)線性函數(shù)它的表達(dá)式 B零均值假定,就是假定回歸線通過X與Y的條件均值組成的點(diǎn),; C同方差假定,,就是各個(gè)隨機(jī)誤差項(xiàng)的離散程度是相同的,也就是說對(duì)于每個(gè)X,,隨機(jī)項(xiàng)相對(duì)均值的分散程度是相同 D無自相關(guān),,就是隨機(jī)擾動(dòng)項(xiàng)之間是互不相關(guān)的,,互補(bǔ)影響,,也就是說隨機(jī)擾動(dòng)項(xiàng)是完全隨機(jī)分布的 E因變量和擾動(dòng)項(xiàng)是完全不相關(guān)的假定; F擾動(dòng)項(xiàng)正態(tài)性假定,,就是假定擾動(dòng)項(xiàng)服從均值為零,方差為司格馬的正太分布 其中回歸模型的表達(dá)式寫法如下 其中e是隨機(jī)擾動(dòng)項(xiàng),,也有寫法是這樣,,Y=a+bX+e,,其中a是截距項(xiàng),,b是斜率,e是隨機(jī)擾動(dòng)項(xiàng),; 參數(shù)最優(yōu)---最小二乘法 竟然存在參數(shù),,那么如何獲取到最佳的參數(shù)呢,簡單線性模型使用的普通最小二乘法,,這里就不寫明寫詳細(xì)步驟了,這個(gè)可以利用搜索引擎查的得到,,我就說說它的主要思想就好,因?yàn)槲覀冊(cè)跀M合過程的時(shí)候我們要使回歸線盡量靠近所有的樣本點(diǎn),,這時(shí)候我們就要使它們殘差盡量小,,因?yàn)闅埐钍怯胸?fù)有正,,所以我們就采用平方去處理,采用平方和最小原則,,通過求導(dǎo),,使其導(dǎo)數(shù)為零,求解得到最優(yōu)的參數(shù),,這樣就能夠使回歸模型應(yīng)該使所有觀察值的殘差平方和最?。淮笾戮褪沁@樣,,文字描述有些吃力,有什么問題可以評(píng)論一起交流 R語言實(shí)踐 這里我使用的我最近讀和做筆記的R語言核心技術(shù)手冊(cè)的包nutshell中的team.batting.00to08數(shù)據(jù),,這個(gè)數(shù)據(jù)是2000年到2008年棒球隊(duì)的數(shù)據(jù),我們想要看看棒球隊(duì)的得分和每個(gè)變量的關(guān)系,; 載入數(shù)據(jù) library(nutshell) data("team.batting.00to08") 查看數(shù)據(jù)的前六行 這就說明了數(shù)據(jù)已經(jīng)被我們完全的載入進(jìn)來了,也知道有多少個(gè)變量以及變量的名字,,這時(shí)候我們要大體的知道一下大體的概括,這時(shí)候使用的summary()函數(shù) summary(team.batting.00to08) 在棒球中RUNS就是球隊(duì)的得分,,時(shí)間是從2000年到2008年等 這時(shí)候想看看各個(gè)變量之間相關(guān)性如何 ,粗劣的使用cor函數(shù)得到它們之間的相關(guān)系數(shù)矩陣,,因?yàn)閿?shù)據(jù)框存在字符,,所以我們要提出第一第二列 cor(team.batting.00to08[,3:10]) 大致可以判斷的出來得分和跑動(dòng)距離和全壘打(homerus)相關(guān)系數(shù)較大,; 這里我們經(jīng)常使用R語言里面的Lm函數(shù)去擬合以上變量,,然后得到模型,然后使用summary()函數(shù)打印更多關(guān)于模型的信息 runs.lm <- lm(runs~singles+doubles+triples+homeruns+walks+hitbypitch+sacrificeflies+stolenbases+caughtstealing,data=team.batting.00to08) summary(runs.lm) 從上圖結(jié)果可以知道,R的可決系數(shù)是0.9114,,模型F值較大,,通過顯著性檢驗(yàn),其中變量caughtstealing和stolenbases和runs不顯著的關(guān)系,,這個(gè)需要剔除,; 我們可以手動(dòng)剔除也可以使用step函數(shù)自動(dòng)剔除 runs.lm_a <- lm(runs~singles+doubles+triples+homeruns+walks+hitbypitch+sacrificeflies,data=team.batting.00to08) runs.lm_b<-step(runs.lm) 這個(gè)就講到這里,,這個(gè)下面幾篇文章會(huì)講到用什么方法得到這樣的結(jié)果 參考文獻(xiàn)代碼 R語言核心技術(shù)手冊(cè) End 號(hào)外:12月29日周四晚,甲骨文公司商務(wù)智能資深技術(shù)顧問趙昌明主講《Oracle大數(shù)據(jù)分析之?dāng)?shù)據(jù)探索在金融業(yè)的應(yīng)用》 報(bào)名方式 :掃描下方二維碼 | 閱讀原文 |
|