2009-07-25 134 views
22

您在R中使用哪些函數來擬合曲線以適合您的數據並測試該曲線的擬合程度?什麼結果被認爲是好的?R中擬合函數的優劣

+0

我已經使用過商業軟件,可以嘗試很多公式(需要幾小時,如果你喜歡)來找到最合適的。我很想在R中找到類似的東西。 – Nosredna 2009-07-25 02:53:02

+1

失望 - 我認爲R是實數的範疇。 – 2009-07-25 21:16:27

回答

25

只是該問題的第一部分可以填滿整本書。只是一些快速的選擇:

  • lm()標準線性模型
  • glm()廣義線性模型(如Logistic迴歸)
  • rlm()從穩健的線性模型
  • lmrob()從包robustbase魯棒包MASS線性型號
  • loess()適用於非線性/非參數型號

然後有特定於領域的模型,例如,時間序列,微觀計量經濟學,混合效應等等。幾個任務視圖例如Econometrics更詳細地討論這一點。至於合體的好處,這也是人們可以輕鬆花費整本書討論的東西。

+0

任何書籍或良好網站的合適建議的建議? – 2010-06-15 20:39:33

7

nls()函數(http://sekhon.berkeley.edu/stats/html/nls.html)非常適用於非線性最小二乘曲線擬合。卡方平方(殘差的平方和)是在這種情況下進行了優化的度量標準,但它不是標準化的,因此您不能輕易使用它來確定適合度。你應該確保的主要事情是你的殘差是正態分佈的。不幸的是,我不確定採用自動化的方式來做到這一點。

10

擬合典範曲線的馱馬在R中是lm(),glm()nls()。對我而言,擬合優度是模型選擇這個大問題中的一個子問題。事實上,錯誤地使用擬合優度(例如,通過逐步迴歸)會導致嚴重錯誤指定的模型(參見Harrell關於「迴歸建模策略」的書)。我沒有從零開始討論這個問題,而是推薦Harrell的書lmglm。 Venables和Ripley的聖經很簡潔,但仍值得一讀。通過Faraway「用R擴展線性模型」是全面和可讀的。這些來源不包括nls,但是Ritz的「R非線性迴歸」Strebig填補了空白,非常實用。

3

你應該確保的主要事情是 你的殘差通常 分佈。不幸的是,我不是 肯定是一種自動化的方式來做到這一點。

qqnorm()很可能被修改,以找到樣本分位數和理論位數之間的相關性。基本上,這只是對正態分位數圖的數值解釋。也許提供不同範圍的分位數的相關係數的幾個值可能是有用的。例如,如果中間97%的數據的相關係數接近於1,而尾部的相關係數低得多,這告訴我們殘差的分佈大致正常,尾部有一些滑稽現象。

2

最好保持簡單,並查看線性方法是否可以「很有效」。通過查看R平方和F統計量,您可以一起判斷您的適合度,從不分開。將與變量無關的變量添加到您的模型中可以增加R2,因此您還必須考慮F統計量。

您還應該將您的模型與其他嵌套或更簡單的模型進行比較。使用log liklihood比率測試,只要因變量相同。

Jarque-Bera測試對於測試剩餘分佈的正態性是很好的。