Verilerden weibull parametrelerini nasıl belirleyebilirim?


10

Sık sık bir weibull dağılımı ile temsil edilen rüzgar hızı verileri histogramım var. Histograma en iyi uyan weibull şekil ve ölçek faktörlerini hesaplamak istiyorum.

Amaç ( grafik çözümlerin aksine) sayısal bir çözüm gerekir çünkü amaç weibull formu programlı olarak belirlemektir.

Düzenleme: Numuneler her 10 dakikada bir toplanır, rüzgar hızının 10 dakika boyunca ortalaması alınır. Örnekler ayrıca, şu anda yok sayılan ancak daha sonra dahil etmek istiyorum her aralıkta kaydedilen maksimum ve minimum rüzgar hızını içerir. Kutu genişliği 0,5 m / s'dir

1 aylık veri için histogram


1
histogramınız olduğunu söylediğinizde - aynı zamanda gözlemler hakkında bilgi sahibi misiniz veya SADECE çöp kutusu genişliğini ve yüksekliğini biliyor musunuz?
suncoolsu

@ suncoolsu Tüm veri noktalarına sahibim. 5.000 ile 50.000 arasında değişen veri kümeleri.
klonq

Verilerin rastgele bir örneğini alıp parametrelerin bir MLE'sini gerçekleştiremez misiniz?
schenectady

2
Tahminin amacı nedir? Geçmiş koşulları geriye dönük olarak karakterize etmek için? Gelecekteki elektrik üretimini tek bir yerde tahmin etmek? Türbin şebekesinde elektrik üretimini tahmin etmek? Meteorolojik bir modeli kalibre etmek için? Vb. Bu soru için, uygun bir çözümün belirlenmesi kritik olarak nasıl kullanılacağına bağlıdır.
whuber

@whuber şu anda fikir, rüzgar veri setlerini dönemden döneme ve / veya sahadan sahaya karşılaştırmaya imkan veren bir formda özetlemektir. Daha sonra amaç eğilimleri karşılaştırmak ve gelecekteki üretime ilişkin kararlar oluşturmak gibi diyecekler. mümkün olduğunca çok bilgi. Beni bu konuda herhangi bir okumaya yönlendirebilirseniz çok takdir edilecektir.
klonq

Yanıtlar:


11

Maksimum Olabilirlik Weibull parametrelerinin tahmini sizin durumunuzda iyi bir fikir olabilir. Bir çeşit Weibull dağılımı şöyle görünür:

(γ/θ)(x)γ1exp(xγ/θ)

Nerede parametrelerdir. gözlemleri verildiğinde , günlük olabilirlik işleviθ,γ>0X1,,Xn

L(θ,γ)=i=1nlogf(Xi|θ,γ)

Bir "programlama tabanlı" çözüm, kısıtlanmış optimizasyon kullanarak bu işlevi optimize eder. Optimum çözüm için çözme:

logLγ=nγ+1nlogxi1θ1nxiγlogxi=0
logLθ=nθ+1θ21nxiγ=0

ortadan kaldırıldığında :θ

[1nxiγlogxi1nxiγ1γ]=1n1nlogxi

Şimdi bu ML tahmini için çözülebilir . Bu, Newton-Raphson veya diğer sayısal prosedürler gibi denklemin çözümünü bulmak için kullanılan standart yinelemeli prosedürlerin yardımıyla gerçekleştirilebilir.γ^

Şimdi açısından bulunabilir olarak:θγ^

θ^=1nxiγ^n

Dikkatli olduğum bir şey, burada zaman serisi verileriniz var gibi görünüyor. Veriler kısa bir zaman dilimi içinde örneklenirse, bağımsızlığın tehlikeli olabileceği varsayılarak. Bunu söyledi, (+1).
kardinal

@cardinal Lütfen açıklayınız. Veriler bir ay boyunca veya bir yıla kadar değişir, ancak düzenli olarak örneklenir (10 dakika). Bu ne anlama gelebilir?
klonq

@cardinal Gösterdiğiniz için teşekkürler. Bağımsızlık varsayımının uygun olup olmadığından da emin değildim.
suncoolsu

1
@klonq, örnek nasıl alınır? Kayıtlar arasındaki on dakikalık ortalama hız mı? Kayıttan bir dakika önce mi? Kayıt anında anlık hız? Çoğunlukla etkili örneklem büyüklüğünüzü önemli ölçüde azaltabilecek seri korelasyonlar arıyordum. Bağımsız örneklerin varsayımına dayalı bir ML tahmininin kullanılması, bu bağlamda size iyi bir tahminde bulunmayabilir veya vermeyebilir ve tahmine dayalı herhangi bir çıkarımda özel dikkat gösterilmelidir . Suncoolsu'nun yaklaşımı kesinlikle ilk saldırı hattını sağlar.
kardinal

@klonq - Mümkünse, örneğinizin nasıl toplandığını açıklar mısınız? Veriler neye benziyor?
suncoolsu

12

Fitdistrplus kullanın:

Bir dağılımın histogramı ile tanımlanması için yardıma ihtiyacınız var

Weibull Dağıtımının nasıl uygun olduğuna dair bir örnek:

library(fitdistrplus)

#Generate fake data
shape <- 1.9
x <- rweibull(n=1000, shape=shape, scale=1)

#Fit x data with fitdist
fit.w <- fitdist(x, "weibull")
summary(fit.w)
plot(fit.w)


Fitting of the distribution ' weibull ' by maximum likelihood 
Parameters : 
       estimate Std. Error
shape 1.8720133 0.04596699
scale 0.9976703 0.01776794
Loglikelihood:  -636.1181   AIC:  1276.236   BIC:  1286.052 
Correlation matrix:
          shape     scale
shape 1.0000000 0.3166085
scale 0.3166085 1.0000000

resim açıklamasını buraya girin


Teşekkürler, ancak Java'da bir çözüm bulmaya çalışıyorum.
klonq

kodlamada şekil ve ölçek faktörleri elde etmek için herhangi bir işaretçi var mı? Teşekkürler.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.