2013-12-03 3 views
1

file.data имеет следующие значения, чтобы соответствовать с распределением Вейбулла,Ошибка в распределении Вейбулла

x  y 
2.53 0.00 
0.70 0.99 
0.60 2.45 
0.49 5.36 
0.40 9.31 
0.31 18.53 
0.22 30.24 
0.11 42.23 

Читает функции распределения Вейбулла f(x)=1.0-exp(-lambda*x**n), он дает ошибку:

fit f(x) 'data.dat' via lambda, n 

и, наконец, черчения п (x) и xy имеют большое расхождение.

Любая обратная связь будет высоко оценена. Благодаря!

ответ

1

Несколько вещей:

  1. Вы должны пропустить первую строку (если это действительно x y).

  2. Вы должны использовать правильную функцию (Ф и не CDF см http://en.wikipedia.org/wiki/Weibull_distribution, как вы это делали в https://stackoverflow.com/q/20336051/2604213)

  3. Вы должны использовать дополнительный параметр масштабирования, потому что ваши данные не нормализованы

  4. Вы должны выбрать соответствующие начальные значения для фитинга.

следующие работы: тонкие

f(x) = (x < 0 ? 0 : a*(x/lambda)**(n-1)*exp(-(x/lambda)**n)) 
n = 0.5 
a = 100 
lambda = 0.15 
fit f(x) 'data.dat' every ::1 via lambda, n, a 

set encoding utf8 
plot f(x) title sprintf('λ = %.2f, n = %.2f', lambda, n), 'data.dat' every ::1 

Это дает (с 4.6.4):

enter image description here

+0

1. У моего файла несколько столбцов, но {fit f (x) 'data.dat' u 4: ($ 7) через lambda, n, a} не работает, 2. Спасибо за ссылку, 3. Как вы заключили дополнительный параметр a = 100 ?, и 4. Как вы сделали правильное предположение для n, a и лямбда? Большое большое спасибо! – kuki

+0

Как вы делали «половину» pdf? У меня всегда есть «полная колоколообразная форма» @Christoph – kuki

+0

Я использовал еще один параметр 'a', потому что ваши данные не нормализованы. Я просто играл с 'a',' lambda' и 'n', чтобы подойти достаточно близко, чтобы« fit »мог работать. Распределение Вейбулла определяется только для положительных значений «х». Различие выполняется внутри 'f (x)' с проверкой '(x <0? ...: ...)'. – Christoph

0

Если это фактическая команда, предоставленная gnuplot, она не будет работать, потому что вы еще не определили f (x).

+0

О, я на самом деле определяется CDF вместо PDF, как Christoph упоминалось. Спасибо Ли. – kuki

Смежные вопросы