簡體   English   中英

R中的nls函數如何處理參數選擇

[英]nls function in R how to deal with the selection of parameters

我正在處理adstock模型,並嘗試在adstock_t = ad_t + alpha * adstock_t-1的公式中找到最佳的alpha。 我在R中找到以下相關代碼來解決此問題: 在此處輸入圖片說明

在建模方面,這個家伙使用了nls函數,對此我有幾個問題:首先,函數sales〜b0 + bi * adstock似乎是線性函數,因此我們在這里使用非線性擬合模型。 其次,我想知道模型如何選擇最佳的b0,b1和alpha(在此處評分)。 我們僅指定每個參數的起點,模型如何遍歷所有可能的值並選擇最佳值? 參數范圍是否有上限? 是否基於R平方(最小化SSR)選擇最佳參數? 但是在我們的課程中,講師提到我們使用最大似然估計最佳率,這使我感到困惑,因為nls使用最小二乘規則。 不一致嗎?

謝謝你的幫助!

如果rate是固定的,那么sales將是b0b1的線性函數,我們可以使用lm求解它,但rate不是固定的。 的確,在這種情況下可以使用algorithm="plinear" ,在這種情況下,僅必須指定非線性參數rate起始值,而該算法可以省略線性參數的起始值。 請注意, "plinear"所需的公式與其他算法不同。 這是使用plinear示例 -在SO中搜索plinear會找到其他示例。

nls不會嘗試所有可能的值。 它使用的方法由algorithm=參數指定,如果未指定任何內容,則默認使用Gauss-Newton 它從某個指定的起始值開始,然后向下移動少量並重復。 究竟如何完成取決於選擇的特定算法。 有關參數和引用的詳細信息,請參見?nls

注意

當發布到SO時,請勿使用圖像,而應包括一個完整的可復制示例,其中包括所有其他人可以復制並粘貼到其會話中以運行的輸入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM