A. r語言lm函數可以做非線性回歸嗎
模型擬合
對於人口模型可以採用Logistic增長函數形式,它考慮了初期的指數增長以及總資源的限制。其函數形式如下。
首先載入car包以便讀取數據,然後使用nls函數進行建模,其中theta1、theta2、theta3表示三個待估計參數,start設置了參數初始值,設定trace為真以顯示迭代過程。nls函數默認採用Gauss-Newton方法尋找極值,迭代過程中第一列為RSS值,後面三列是各參數估計值。然後用summary返回回歸結果。
library(car)
pop.mod1 <- nls(population ~ theta1/(1+exp(-(theta2+theta3*year))),start=list(theta1 = 400, theta2 = -49, theta3 = 0.025), data=USPop, trace=T)
summary(pop.mod)
在上面的回歸過程中我們直接指定參數初始值,另一種方法是採用搜索策略,首先確定參數取值范圍,然後利用nls2包的暴力方法來得到最優參數。但這種方法相當費時。
還有一種更為簡便的方法就是採用內置自啟動模型(self-starting Models),此時我們只需要指定函數形式,而不需要指定參數初始值。本例的logistic函數所對應的selfstarting函數名為SSlogis
pop.mod2 <- nls(population ~ SSlogis(year,phi1,phi2,phi3),data=USPop)
二、判斷擬合效果
非線性回歸模型建立後需要判斷擬合效果,因為有時候參數最優化過程會捕捉到局部極值點而非全局極值點。最直觀的方法是在原始數據點上繪制擬合曲線。
library(ggplot2)
p <- ggplot(USPop,aes(year, population))
B. 怎麼用R語言編寫一個完整的多元線性回歸方程
)attach(byu)
lm(salary ~ age+exper)
lm(salary~.,byu) #利用全部自變數做線性回歸
lm()只能得出回歸系數,要想得到更為詳盡的回歸信息,應該將結果作為數據保存或者使用「擬合模型」(fitted model)
result<-lm(salary~age+ exper + age*exper, data=byu)
summary(result)
myresid<-result$resid #獲得殘差
vcov(result) #針對於擬合後的模型計算方差-協方差矩陣
shapiro.test(b) #做殘差的正太性檢驗
qqnorm(bres);qqline(bres) #做殘差
C. 如何用R語言做邏輯回歸模型
震驚了,原來真的有關注R的人
可以仔細看看handbook,或者去COS上學習學習也是很不錯的
D. 請問用r軟體做的多元線性回歸分析,進行回歸診斷時得到如下的殘差圖
說明存在一定的趨勢
E. 如何用R語言做線性相關回歸分析
可以直接用corrcoef(x,y)函數啊……
例如,求出已知的x,y向量的相關系數矩陣R,則輸入
R=corrcoef(x,y)
然後調用 max(max(R)),可以求出最大值
F. 基於R語言實現Lasso回歸分析
基於R語言實現Lasso回歸分析
主要步驟:
將數據存成csv格式,逗號分隔
在R中,讀取數據,然後將數據轉成矩陣形式
載入lars包,先安裝
調用lars函數
確定Cp值最小的步數
確定篩選出的變數,並計算回歸系數
具體代碼如下:
需要注意的地方:
1、數據讀取的方法,這里用的file.choose( ),這樣做的好處是,會彈出窗口讓你選擇你要載入進來的文件,免去了輸入路徑的苦惱。
2、數據要轉為矩陣形式
3、(la) 可以看到R方,這里為0.66,略低
4、圖如何看? summary的結果里,第1步是Cp最小的,在圖里,看到第1步與橫軸0.0的交界處,只有變數1是非0的。所以篩選出的是nongyangungun
Ps: R語言只學習了數據輸入,及一些簡單的處理,圖形可視化部分尚未學習,等論文寫完了,再把這部分認真學習一下~~在這里立個flag
G. 如何在r語言中抓取股票數據並分析論文
用quantomd包
然後getsymbols函數
分析論文 要看你研究方向
如果是看影響因素 一般回歸就行
如果看股票波動和預測 可能需要時間序列