Làm thế nào tôi có thể xác định các tham số weibull từ dữ liệu?


10

Tôi có một biểu đồ dữ liệu tốc độ gió thường được biểu diễn bằng phân phối trọng lượng. Tôi muốn tính toán các yếu tố hình dạng và tỷ lệ cân đối phù hợp nhất với biểu đồ.

Tôi cần một giải pháp số (trái ngược với các giải pháp đồ họa ) bởi vì mục tiêu là xác định dạng weibull theo lập trình.

Chỉnh sửa: Các mẫu được thu thập cứ sau 10 phút, tốc độ gió được tính trung bình trong 10 phút. Các mẫu cũng bao gồm tốc độ gió tối đa và tối thiểu được ghi lại trong mỗi khoảng thời gian bị bỏ qua hiện tại nhưng tôi muốn kết hợp sau. Chiều rộng thùng là 0,5 m / s

Biểu đồ cho 1 tháng dữ liệu


1
khi bạn nói bạn có biểu đồ - bạn có nghĩa là cũng có thông tin về các quan sát hay bạn CHỈ biết chiều rộng và chiều cao của thùng?
suncoolsu

@suncoolsu Mình có tất cả các điểm dữ liệu. Bộ dữ liệu từ 5.000 đến 50.000 hồ sơ.
klonq

Bạn không thể lấy một mẫu dữ liệu ngẫu nhiên và thực hiện MLE của các tham số?
schenectady

2
Mục đích của dự toán là gì? Để hồi tưởng đặc trưng các điều kiện trong quá khứ? Để dự đoán sản lượng điện trong tương lai tại một địa điểm? Để dự đoán phát điện trong một lưới các tuabin? Để hiệu chỉnh một mô hình khí tượng? V.v. Đối với câu hỏi này, việc xác định một giải pháp thích hợp phụ thuộc rất nhiều vào cách sử dụng nó.
whuber

@whuber hiện tại ý tưởng là tóm tắt các tập dữ liệu gió theo một hình thức cho phép so sánh giữa các giai đoạn và / hoặc trang web với trang web. Sau đó, mục tiêu sẽ là so sánh các xu hướng và như bạn nói để hình thành các phán đoán về sản xuất trong tương lai, v.v. Tôi rất là người mới làm quen với các số liệu thống kê nhưng tôi có một núi dữ liệu (mà tôi không thể chia sẻ) và muốn trích xuất như nhiều thông tin từ nó càng tốt. Nếu bạn có thể chỉ cho tôi bất kỳ đọc về chủ đề này, nó sẽ được nhiều đánh giá cao.
klonq

Câu trả lời:


11

Ước tính khả năng tối đa của các tham số Weibull có thể là một ý tưởng tốt trong trường hợp của bạn. Một hình thức phân phối Weibull trông như thế này:

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

θ,γ>0X1,,Xn

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

Một giải pháp "dựa trên lập trình" sẽ được tối ưu hóa chức năng này bằng cách sử dụng tối ưu hóa bị ràng buộc. Giải quyết cho giải pháp tối ưu:

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

θ

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

γ^

θγ^

θ^=1nxiγ^n

Một điều tôi sẽ thận trọng là có vẻ như chúng ta có dữ liệu chuỗi thời gian ở đây. Nếu dữ liệu được lấy mẫu trong một khung thời gian ngắn, giả sử tính độc lập có thể nguy hiểm. Điều đó nói rằng, (+1).
hồng y

@cardinal Hãy giải thích. Dữ liệu nằm trong khoảng một tháng hoặc tối đa một năm, nhưng được lấy mẫu thường xuyên (10 phút). Điều này có nghĩa là gì?
klonq

@cardinal Cảm ơn bạn đã chỉ ra. Tôi cũng không chắc nếu giả định độc lập là phù hợp.
suncoolsu

1
@klonq, mẫu được lấy như thế nào? Đây có phải là tốc độ trung bình trong mười phút giữa các bản ghi âm? Hơn một phút trước khi ghi âm? Tốc độ tức thời tại thời điểm ghi? Chủ yếu tôi đang tìm kiếm các mối tương quan nối tiếp, có thể làm giảm đáng kể kích thước mẫu hiệu quả của bạn. Sử dụng ước tính ML dựa trên giả định các mẫu độc lập có thể vẫn có thể hoặc không cung cấp cho bạn ước tính tốt trong bối cảnh đó và cần đặc biệt chú ý đến mọi suy luận dựa trên ước tính. Cách tiếp cận của Suncoolsu chắc chắn cung cấp một dòng tấn công đầu tiên, mặc dù.
hồng y

@klonq - Nếu có thể, bạn có thể vui lòng mô tả mẫu của bạn được thu thập như thế nào không? Dữ liệu trông như thế nào?
suncoolsu

12

Sử dụng fitdistrplus:

Cần giúp xác định một phân phối bằng biểu đồ của nó

Đây là một ví dụ về cách phân phối Weibull phù hợp:

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

nhập mô tả hình ảnh ở đây


Cảm ơn, nhưng tôi đang cố gắng tìm một giải pháp trong Java.
klonq

bất kỳ con trỏ trong mã hóa R để có được các yếu tố hình dạng và quy mô? Cảm ơn.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.