[英]Solving equations with two unknowns in R
我正在將分布擬合到數據集。 我需要根據給定的函數/公式調整分布的參數。 我不知道如何解決R中的問題
這些數據集是來自14個不同降雨持續時間(5分鍾,10分鍾,15分鍾等)的降水數據集。 對於每個數據集,我都適合一個分布。 之后,我需要對分布參數擬合函數,以便獲得降雨持續時間與分布參數之間的關系。
給出了每個分布參數的功能。 例如,location參數的函數為:u(d)= a / d ^ b
其中u(d)是所有14個擬合分布的位置參數(對於每個持續時間d),而d是持續時間5,10,15,30,45,60,90,120,180,240,300,360,720和1440分鍾。 我現在需要找到參數a和b
我的問題在於,由於缺乏數學知識和對英語術語的了解,因此不了解如何用R解決問題。 我已經開始閱讀一些有關deSolve的文章,但是我很快就感到困惑,甚至不確定自己是否走對了軌道。
一個例子
u <- seq(0,60, length.out = 14) # these are the resulting location parameters
d <- c(5,10,15,30,45,60,90,120,180,240,300,360,720,1440)
因此,如果可能的話,我想獲得有關如何解決問題以及如何設置方程式求解代碼的建議。
我想我自己使用nls找到了解決方案(來自“ stats”包)
d <- c(5,10,15,30,45,60,90,120,180,240,300,360,720,1440)
mu <- seq(5, 30, length.out = 14)
給出了a和b的閾值:
a必須大於0,b必須大於-1
start_a <- 0.1 # start-value higher than 0
start_b <- -0.9 # start-value higher than -1
然后我可以設置功能
mu_fun <- function(a,d,b) {
a/(d^b) }
最后使用函數和給定的起始估算值運行nls
mu_fit <- nls(mu ~ mu_fun(a,d,b), start = list(a = start_a, b = start_b))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.