Як я можу визначити параметри weibull за даними?


10

У мене є гістограма даних про швидкість вітру, яка часто представлена ​​за допомогою розподілу вейбулів. Я хотів би обчислити коефіцієнти форми і масштабу вейбула, які найкраще підходять до гістограми.

Мені потрібне числове рішення (на відміну від графічних рішень ), оскільки мета полягає в тому, щоб визначити форму weibull програмно.

Редагувати: Зразки збираються кожні 10 хвилин, швидкість вітру усереднюється за 10 хвилин. Зразки також включають максимальну і мінімальну швидкість вітру, зафіксовану протягом кожного інтервалу, які в даний час ігноруються, але я хотів би включити пізніше. Ширина контейнера - 0,5 м / с

Гістограма за 1 місяць даних


1
коли ви говорите, що маєте гістограму - ви маєте на увазі також інформацію про спостереження, або ви ТІЛЬКИ знаєте ширину та висоту відро?
suncoolsu

@suncoolsu У мене є всі точки даних. Набір даних становить від 5000 до 50 000 записів.
klonq

Ви не можете взяти випадкову вибірку даних та виконати параметр MLE?
schenectady

2
Яка мета оцінки? Щоб ретроспективно охарактеризувати минулі умови? Прогнозувати майбутнє виробництво електроенергії в одному місці? Прогнозувати вироблення електроенергії в електромережі? Для калібрування метеорологічної моделі? І т. Д. Для цього питання визначення відповідного рішення критично залежить від способу його використання.
whuber

@whuber в даний час ідея полягає в узагальненні наборів даних про вітер у формі, що дозволяє порівнювати період від періоду та / або сайт до сайту. Пізніше метою буде порівняння тенденцій, і, як ви кажете, формувати судження щодо майбутнього виробництва і т. Д. Я дуже новачок у статистиці, але у мене є ряд даних (якими я не можу поділитися) і хотів би отримати якомога більше інформації з нього. Якщо ви можете вказати мені на будь-яке читання на цю тему, було б дуже вдячно.
klonq

Відповіді:


11

Максимальна ймовірність Оцінка параметрів Вейбула може бути хорошою ідеєю у вашому випадку. Форма розподілу Weibull виглядає так:

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

Де - параметри. З огляду на спостереження , функція вірогідності журналу єθ,γ>0X1,,Xn

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

Одне рішення на основі програмування було б оптимізувати цю функцію за допомогою обмеженої оптимізації. Вирішення оптимального рішення:

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

При усуненні ми отримуємо:θ

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

Тепер це можна вирішити для оцінки ML . Це може бути здійснено за допомогою стандартних ітеративних процедур, які вирішуються, використовуються для пошуку рішення рівняння, такого як - Ньютон-Рафсон або інші числові процедури.γ^

Тепер можна знайти в терміні як:θγ^

θ^=1nxiγ^n

Я б хотів бути обережним: це звучить так, що ми маємо тут дані про часові ряди. Якщо дані вибираються за короткий проміжок часу, припускаючи, що незалежність може бути небезпечною. Це сказав, (+1).
кардинал

@cardinal Будь ласка, поясніть. Дані коливаються протягом місяця або до року, але відбирають вибірки регулярно (10 хвилин). Що це може означати?
klonq

@cardinal Дякуємо, що вказали на це. Я також не був впевнений, чи підходить незалежність.
suncoolsu

1
@klonq, як береться проба? Це середня швидкість за десять хвилин між записами? За хвилину до запису? Миттєва швидкість на момент запису? Переважно я б шукав послідовних кореляцій, які могли б значно зменшити ваш ефективний розмір вибірки. Використання оцінки ML, заснованої на припущенні незалежних зразків, може або не може все-таки дати хорошу оцінку в цьому контексті, і слід бути особливо обережним щодо будь-яких висновків, заснованих на оцінці. Підхід Suncoolsu, безумовно, забезпечує першу лінію атаки.
кардинал

@klonq - Якщо можливо, чи можете ви описати, як був зібраний ваш зразок? Як виглядають дані?
suncoolsu

12

Використовуйте fitdistrplus:

Потрібна допомога з визначення розподілу за його гістограмою

Ось приклад того, як підходить дистрибутив Weibull:

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

введіть тут опис зображення


Дякую, але я намагаюся знайти рішення на Java.
klonq

будь-які покажчики в кодуванні R, щоб отримати форми та масштабні фактори? Дякую.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.