Phân tích dữ liệu gió với R


12

Xin chào, tôi đang phân tích dữ liệu gió để ước tính năng lượng từ một tuabin gió.
Tôi đã lấy 10 năm dữ liệu gió và vẽ biểu đồ;
giai đoạn thứ hai của tôi là để phù hợp với phân phối Weibull cho dữ liệu.
Tôi đã sử dụng R với gói lmomđể tính toán hình dạng Weibul và chia tỷ lệ đây là mã tôi đã sử dụng:

>library(lmom)    
wind.moments<-samlmu(as.numeric(pp$WS))      
moments<-pelwei(wind.moments)     
x.wei<-rweibull(n=length(pp$WS), shape=moments["delta"], scale=moments["beta"])    
hist(as.numeric(pp$WS), freq=FALSE)    
lines(density(x.wei), col="red", lwd=4)    

Có vẻ như có một số độ trễ giữa dữ liệu và hàm mật độ; Bạn có thể giúp tôi với điều này? Một câu hỏi khác là bạn có thể giúp tôi tính toán năng lượng anual từ hàm mật độ không?

nhập mô tả hình ảnh ở đây
cảm ơn bạn


Về hình ảnh, đăng lên một số lưu trữ hình ảnh và đặt một liên kết - Tôi sẽ chuyển đổi nó thành một hình ảnh dán.

+1, câu hỏi thú vị, bạn có thể thấy rằng bạn sẽ sớm có đủ danh tiếng :)
mpiktas

2
Đánh giá từ biểu đồ, vấn đề không phải là độ trễ. Những gì bạn đã âm mưu là khoảng tốt của sự phù hợp. Vì vậy, có vẻ như phân phối Weibull không phù hợp với dữ liệu của bạn. Tôi thấy rằng có một bó lên gần 0, bạn có giá trị 0 trong dữ liệu của mình không? Trong trường hợp đó, bạn sẽ cần mô hình các giá trị 0 riêng biệt. Vì vậy, đề xuất đầu tiên sẽ là thử Weibull cho các giá trị khác không. Ngoài ra tại sao Weibull, có lý do cụ thể, một số tài liệu tham khảo từ công việc tương tự có lẽ?
mpiktas

1
lưu ý rằng 'lag' là thuật ngữ được sử dụng chủ yếu trong phân tích dữ liệu kịp thời, đề cập đến một điều xảy ra sau một điều khác. Đây không phải là độ trễ - có lẽ chính xác hơn được gọi là dịch chuyển - hoặc có thể là bù - nhưng sự thay đổi có lẽ phổ biến hơn đối với phân phối, chúng thay đổi và chia tỷ lệ.
Spainedman

1
cẩn thận về việc sử dụng as.numeric (x) với các yếu tố; bạn thực sự muốn sử dụng as.numeric (as.character (x)) để đảm bảo bạn nhận được giá trị số đúng cho hệ số.
Andy Clifton

Câu trả lời:


5

lmomHàm pelweiphù hợp với phân phối ba tham số Weibull, với các tham số vị trí , tỷ lệ và hình dạng. rweibulltạo số ngẫu nhiên cho phân phối Weibull hai tham số. Bạn cần phải trừ tham số vị trí moments["zeta"]. Điều đó sẽ cung cấp cho một tốt hơn phù hợp, nhưng nó không xuất hiện nó sẽ cho một tốt phù hợp với số liệu cụ thể của bạn.

Tôi nhận thấy http://www.reuk.co.uk/Wind-Speed-Distribution-weibull.htmlm nói rằng "Tốc độ gió ở hầu hết thế giới có thể được mô hình hóa bằng Phân phối Weibull.". Có lẽ bạn không may mắn và sống ở một phần của thế giới nơi họ không thể!


bạn có tink bạn có thể giúp tôi với câu hỏi thứ hai của tôi: tính toán năng lượng gió dựa trên hàm mật độ không?
eliavs

2
Tôi không phải là nhà vật lý và tôi không biết các phương trình cần thiết, nhưng tôi tưởng tượng nó sẽ liên quan đến một tích phân số trên mật độ. integrate()Chức năng của R có thể hữu ích cho việc đó.
onestop

tôi biết phương trình của tôi là tôi muốn tính phần trăm thời gian của gió ở mỗi tốc độ
eliavs

những gì tôi là bạn có thể giúp tôi tích hợp -> cảm ơn bạn
eliavs

6

Tôi đã tạo lại âm mưu của bạn với dữ liệu từ http://hawaii.gov/dbedt/ert/winddata/krab0192.txt (Tôi đã thực hiện 1200 phép đo). Tôi có một dữ liệu phù hợp với dữ liệu, thường sử dụng mã của bạn:

library(lmom)

daten <- read.delim("wind.txt")
wind.avg <- na.omit(as.numeric(daten[,"X12"]))
wind.moments<-samlmu(wind.avg)
moments<-pelwei(wind.moments)
x.wei<-rweibull(n=length(wind.avg), shape=moments["delta"], scale=moments["beta"])
hist(as.numeric(wind.avg), freq=FALSE)
lines(density(x.wei), col="red", lwd=4)

Lô gió

Xin lỗi, tôi không chắc là vấn đề của bạn có thể xảy ra, nhưng tôi nghĩ bạn sẽ có thể phù hợp với dữ liệu của bạn. Điều khiến tôi nghi ngờ là đường cong của âm mưu mật độ của bạn, tôi không biết nó đến từ đâu.

Dưới đây là những khoảnh khắc tôi tạo ra:

gió.moments

       l_1         l_2         t_3         t_4 
15.17287544  4.80372580  0.14963501  0.06954438

khoảnh khắc

     zeta      beta     delta 
 0.516201 16.454233  1.745413 

WTR cho đầu ra hàng năm: Tôi cho rằng tôi sẽ tạo các giá trị rời rạc cho hàm mật độ xác suất, nhân các giá trị này với hàm đầu ra và tổng hợp nó. Ngoài ra, bạn chỉ có thể sử dụng dữ liệu thô của mình, nhân các giá trị với hàm đầu ra, tổng hợp và tính trung bình hàng năm, bạn nên kiểm soát tính thời vụ theo cách phù hợp (ví dụ: đảm bảo sử dụng cả năm hoặc theo trọng số phù hợp) .

Đây là đầu ra không được kiểm soát (sử dụng công thức từ http://www.articlesbase.com/diy-articles/determining-wind-turbine-annual-power-output-a-simple-formula-basing-upon-blade-diameter- và - gió trung bình-tốc độ tại địa điểm của bạn-513080.html )

years  <- length(wind.avg)/365
diameter <- 150
Power = (0.01328*diameter^2)*((wind.avg)^3)
(annual.power <- sum(Power)/years)
[1] 791828306

4

Đây là một bài viết gần đây tại SO trên tuabin gió. Câu trả lời của tôi trên liên kết đó có ba liên kết mà bạn có thể quan tâm:

/programming/4843194/r-lingu-sorting-data-into-ranges-averaging-ignore-outliers/4844783#4844783

Tôi chỉ kiểm tra một trong các liên kết Weibull trong câu trả lời SO ở trên. Đối với một số lý do, các liên kết là xuống. Dưới đây là một số liên kết cung cấp thông tin cơ bản tương tự:

http://www.gso.uri.edu/ozone/

http://www.weru.ksu.edu/new_weru/publications/pdf/Comparison%20of%20the%20 Weibull% 20model% 20with% 20measured% 20wind% 20speed%

http://www.kfupm.edu.sa/ri/publication/cer/41_JP_weibull_parameter_for_wind_speed_distribution_in_Saudi_Arabia.pdf

http://journal.dogus.edu.tr/13026739/2008/cilt9/sayi1/M00195.pdf

http://www.eurojournals.com/ejsr_26_1_01.pdf

Ngoài ra, từ sức mạnh được tạo ra từ gió, tính thời vụ là rõ ràng.

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

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


1

Tôi không chắc ai đó đã đưa ra quan điểm này chưa, nhưng pelwei thực sự có thể bị buộc phải làm việc như một hàm tham số 2 bằng cách thêm vào một ràng buộc cố định.

Khi gọi moments<-pelwei(wind.moments)bạn chỉ nên gọimoments<-pelwei(wind.moments,bound=0)

bạn luôn có thể kiểm tra giá trị zeta là gì. Nếu nó không phải là 0 và bạn đang sử dụng dweibull, bạn cần phải làm gì đó với 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.