2013-03-23 22 views
2

我是R新手。有一組樣本以及目標,我希望擬合一個數值函數來解決新樣本的目標。我的樣品是表示在這個地方用戶停留的持續時間(秒):使用一組樣本對新值進行插值

>b <- c(101,25711,13451,19442,26,3083,133,184,4403,9713,6918,10056,12201,10624,14984,5241, 
+21619,44285,3262,2115,1822,11291,3243,12989,3607,12882,4462,11553,7596,2926,12955, 
+1832,3539,6897,13571,16668,813,1824,10304,2508,1493,4407,7820,507,15866,7442,7738, 
+5705,2869,10137,11276,12884,11298,...) 

首先,我將它們轉換爲小時的3600分,我想,以適應功能持續時間的PDF:

> b <- b/3600 
> hist(c,xlim=c(0,13),prob=T,breaks=seq(0,24,by=0.5)) 
> lines(density(x), col=red) 

enter image description here

我想,以適應圖中的紅線,並插入新的值來找到這個地方的具體時間的概率說,p(持續時間=1.5小時)。

感謝您的關注!

+0

如果您知道分配的似然函數,請嘗試'MASS:fitdistr'或'optim'。 – 2013-03-23 08:06:47

+1

...並注意單點上的概率密度爲零,你必須定義一個區域,即'p(持續時間<1.6和持續時間> 1.4)'。 – 2013-03-23 08:11:22

+0

爲什麼不使用密度''像'dd < - density(b); sum(dd $ y [dd $ x <1.5])/ sum(dd $ y)'' – agstudy 2013-03-23 10:04:34

回答

2

如上所述,您可以在MASS包中使用fitdistr。 如果您使用連續分配,您將有時間在一個區間內的概率。如果你使用離散分佈,你可以計算一定時間的概率(以小時爲單位)。

對於連續的情況,您可以使用Gamma分佈:fitdistr(b, "Gamma")會給出參數估計值,然後您可以使用pgamma以及這些估計值和間隔。

對於離散情況,您可以使用泊松分佈:fitdistr(b, "Poisson"),然後dpois函數與估計值和所需的值。

要決定使用哪一個,我只需使用直方圖繪製pdf並觀察一下。

+0

我想我們應該更多在這裏小心......你爲什麼選擇gamma分佈?他的密度可以是任何東西。沒有進一步的知識,我會建議一個非參數密度估計器,使用內核或者可能只是直方圖。 – 2013-03-23 21:40:46

+0

是的。我只是看着他提供的直方圖來說伽瑪。當然這是需要考慮的事情,但我想他應該決定什麼是正確的。 – 2013-03-23 21:51:15

相關問題