2011-08-12 16 views
3

我正在研究一些B樣條迴歸(第一度,單結,不是很複雜),並且想要比較之前和之後的部分的參數估計值內部結之後的部分。在結之間分開B樣條並比較每個樣條的擬合優度

現在,我有這樣的事情:

fit <- lm(y ~ bs(x, degree = 1, knots = 20), data = bar) 

fit然後有截距的估計和兩套參數估計。

我有興趣將這兩個參數集與另一個進行比較 - 是否有人知道將bs模型對象或提取這兩個子模型?或者,將F值轉換爲R中的p值,以便我可以手動執行這些測試。

回答

1

我相信這很有趣:Reparametrize fitted regression spline as piecewise polynomials and export polynomial coefficients

如果您只是想比較每件作品的吻合度,則不需要重新繪圖。比較可以直接通過比較RSS(殘差平方和)和每個片段的R平方。通過傳遞原始數據和擬合值,可簡單地通過Function to calculate R2 in R計算R平方。

你也可以做交叉驗證(CV),但你必須自己編程,因爲它是非常特殊的。以你的例子來說明基本的想法。你有兩件作品,我們稱它們爲A片和B片。我們想爲每件作品取得CV成績。當進行對片A CV:在片A

  • 分割數據分成訓練和測試數據,同時保持(在一般情況下,所有其它的段比A)上片B 所有數據作爲訓練數據集的一部分;
  • 預測誤差只評估A片,而不是整個樣條。