Rを使用した風データの分析


12

こんにちは、風力タービンからのエネルギーを推定するための風データを分析しています。
私は10年間の風のデータを取得し、ヒストグラムをグラフ化しました。
第2段階は、ワイブル分布をデータに適合させることでした。
パッケージでRを使用してlmom、Weibulの形状とスケールを計算し、これは私が使用したコードです。

>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)    

データと密度関数の間に若干の遅れがあるようです。これで私を助けてもらえますか?別の質問は、密度関数から年次エネルギーを計算するのに役立ちますか?

ここに画像の説明を入力してください
ありがとうございました


写真については、いくつかの画像ホスティングに投稿し、リンクを貼ってください。貼り付けた画像に変換します。

+1、興味深い質問、あなたはすぐにあなたが十分な評判を得ることに気付くかもしれません:)
mpiktas

2
グラフから判断すると、問題は遅れではありません。プロットしたのは、おおよその適合度です。したがって、ワイブル分布はデータには適切ではないようです。ゼロに近い値がありますが、データにゼロ値がありますか?その場合、ゼロ値を個別にモデル化する必要があります。したがって、最初の提案は、ゼロ以外の値に対してワイブルを試すことです。また、なぜワイブルは、特定の理由があるのでしょうか?
mpiktas

1
「ラグ」は、主に時間内のデータの分析で使用される用語であり、次から次へと発生するものを指すことに注意してください。これは遅れではありません-おそらくより正確にシフトと呼ばれます-または、おそらくオフセット-しかし、シフトはおそらくディストリビューションでより一般的で、シフトとスケーリングです。
スペースマン

1
as.numeric(x)を因子とともに使用する場合は注意してください。実際にas.numeric(as.character(x))を使用して、ファクターの正しい数値を取得するようにします。
アンディクリフトン

回答:


5

lmom関数は、location、scale、shapeパラメーターを使用しpelweiて、3つのパラメーターのワイブル分布に適合します。2パラメーターのワイブル分布の乱数を生成します。位置パラメータを減算する必要があります。それはより良い適合を与えるはずですが、それはあなたの特定のデータに良い適合を与えるようには見えません。rweibullmoments["zeta"]

私は気づかhttp://www.reuk.co.uk/Wind-Speed-Distribution-Weibull.htmが言う「世界のほとんどで風速がワイブル分布を用いてモデル化することができます。」。おそらくあなたは不運で、彼らができない世界の一部に住んでいるのでしょう!


2番目の質問:密度関数に基づいて風力エネルギーを計算するのに役立ちますか?
エリアス

2
私は物理学者ではないので、必要な方程式はわかりませんが、密度に対する数値積分が必要になると思います。そのためにRのintegrate()関数が役立つ場合があります。
ワンストップ

私は私のproblamは、私は風が各速度である時間の割合を計算したいです方程式を知っている
eliavs

私は私が何であるかを統合で私を助けることができます->ありがとう
eliavs

6

http://hawaii.gov/dbedt/ert/winddata/krab0192.txtのデータを使用してプロットを再作成しました(1200回の測定を行いました)。一般的にあなたのコードを使用して、データの適切なフィットを得ました:

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)

ウィンドプロット

申し訳ありませんが、問題が発生する可能性があるかどうかはわかりませんが、ワイブルをデータに合わせることができるはずです。私が疑わしいのは、あなたの密度プロットのベル曲線です。それがどこから来たのか分かりません。

私が生成した瞬間は次のとおりです。

wind.moments

       l_1         l_2         t_3         t_4 
15.17287544  4.80372580  0.14963501  0.06954438

瞬間

     zeta      beta     delta 
 0.516201 16.454233  1.745413 

年間出力に対するWTR:確率密度関数の離散値を生成し、これらの値を出力関数で乗算して合計するとします。あるいは、生データを使用し、値を出力関数で乗算し、それを合計して年間平均を計算することもできます。適切な方法で季節性を制御する必要があります(例:年間全体を使用するか、それに応じて重み付けする) 。

これは、制御されていない出力です(http://www.articlesbase.com/diy-articles/determining-wind-turbine-annual-power-output-a-simple-formula-based-upon-blade-diameter- and-average-wind-speed-at-your-location-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

SOでの風力タービンに関する最近の投稿です。そのリンクに関する私の答えには、あなたが興味を持つかもしれない3つのリンクがあります:

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

上記のSO回答のワイブルリンクの1つをチェックしました。何らかの理由で、リンクがダウンしています。同じ基本情報を提供するリンクを次に示します。

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

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

http://www.kfupm.edu.sa/ri/publication/cer/41_JP_Weibull_parameters_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

また、風から生成された電力から、季節性は明らかです。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


1

誰かがすでにこの点を指摘しているかどうかはわかりませんが、固定された範囲を追加することで、実際にpelweiを2パラメーターワイブル関数として機能させることができます。

呼び出しの内部でmoments<-pelwei(wind.moments)は、単に呼び出す必要がありますmoments<-pelwei(wind.moments,bound=0)

ゼータ値はいつでも確認できます。0でなく、dweibullを使用している場合は、それについて何かする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.