आर के साथ पवन डेटा का विश्लेषण


12

हाय मैं एक पवन टरबाइन से ऊर्जा का आकलन करने के लिए पवन डेटा का विश्लेषण कर रहा हूं।
मैंने 10 साल का पवन डेटा लिया है और एक हिस्टोग्राम का रेखांकन किया है;
मेरा दूसरा चरण डेटा के लिए एक वीबुल वितरण फिट करने के लिए था।
मैंने lmomवीबुल आकार की गणना करने के लिए पैकेज के साथ आर का उपयोग किया और यह मेरे द्वारा उपयोग किए जाने वाला कोड है:

>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
ध्यान दें कि 'अंतराल' एक शब्द है जिसका उपयोग मुख्य रूप से डेटा के विश्लेषण में किया जाता है, एक के बाद एक होने वाली चीज़ों का जिक्र। यह एक अंतराल नहीं है - यह शायद अधिक सटीक रूप से बदलाव कहलाता है - या शायद एक ऑफसेट - लेकिन बदलाव शायद वितरण के लिए अधिक सामान्य है, वे बदलाव और पैमाने।
Spacedman

1
कारकों के साथ as.numeric (x) का उपयोग करने के बारे में सावधान रहें; आप वास्तव में as.numeric (as.character (x)) का उपयोग यह सुनिश्चित करने के लिए करना चाहते हैं कि आपको कारक के लिए सही संख्या मान प्राप्त हो।
एंडी क्लिफ्टन

जवाबों:


5

lmomसमारोह तीन पैरामीटर वेइबुल वितरण pelweiफिट बैठता है , स्थान , पैमाने और आकार के मापदंडों के साथ। एक दो- भाग व्यास वितरण के लिए यादृच्छिक संख्या उत्पन्न करता है । आपको लोकेशन पैरामीटर घटाना होगा । यह एक बेहतर फिट देना चाहिए , लेकिन यह प्रकट नहीं होता है कि यह आपके विशेष डेटा को एक अच्छा फिट देगा ।rweibullmoments["zeta"]

मैं नोटिस करता हूं http://www.reuk.co.uk/Wind-Speed-Distribution-Weibull.htm कहता है "दुनिया के अधिकांश हिस्सों में हवा की गति का उपयोग वेइबुल डिस्ट्रीब्यूशन का उपयोग करके किया जा सकता है।" शायद तुम सिर्फ बदकिस्मत हो और दुनिया के ऐसे हिस्से में रहते हो जहाँ वे नहीं जा सकते!


क्या आप मेरे दूसरे प्रश्न में मेरी मदद कर सकते हैं: घनत्व समारोह के आधार पर पवन ऊर्जा की गणना करना।
eliavs

2
मैं भौतिक विज्ञानी नहीं हूं और मुझे आवश्यक समीकरणों का पता नहीं है, लेकिन मुझे लगता है कि यह घनत्व पर एक संख्यात्मक अभिन्न अंग होगा। आर का integrate()कार्य इसके लिए उपयोगी हो सकता है।
दोपहर

मुझे पता है कि मेरा प्रोबल्म मैं हवा के प्रत्येक गति पर होने वाले समय के प्रतिशत की गणना करना चाहता
हूं

मैं क्या कर रहा हूँ आप एकीकरण के साथ मेरी मदद कर सकते हैं -> धन्यवाद
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- पर सूत्र का उपयोग कर रहा है) और औसत-हवा-गति-पर-आपके स्थान -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 पर एक हालिया पोस्ट है। उस लिंक पर मेरे उत्तर में तीन लिंक हैं जिनकी आपको रुचि हो सकती है:

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

मैंने अभी उपरोक्त SO उत्तर में वेइबुल लिंक की जाँच की है। किसी कारण के लिए, लिंक नीचे है। यहां कुछ लिंक दिए गए हैं जो समान मूल जानकारी प्रदान करते हैं:

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

मुझे यकीन नहीं है कि अगर किसी ने पहले ही यह बिंदु बना लिया है, लेकिन पेलवेई वास्तव में एक निश्चित सीमा में जोड़कर 2 पैरामीटर weibull फ़ंक्शन के रूप में काम करने के लिए मजबूर किया जा सकता है।

कॉल करने के लिए moments<-pelwei(wind.moments)आपको बस कॉल करना चाहिएmoments<-pelwei(wind.moments,bound=0)

आप हमेशा देख सकते हैं कि जेटा मूल्य क्या है। यदि यह 0 नहीं है और आप dweibull का उपयोग कर रहे हैं, तो आपको इसके बारे में कुछ करने की आवश्यकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.