मैं एक मौजूदा भविष्यवाणी एल्गोरिथ्म को पुन: पेश करने की कोशिश कर रहा हूं, जो एक सेवानिवृत्त शोधकर्ता द्वारा दिया गया है। पहला कदम एक वीबुल वितरण के लिए कुछ अवलोकन किए गए डेटा को फिट करना है, एक आकार और पैमाने प्राप्त करना है जो भविष्य के मूल्यों की भविष्यवाणी के लिए उपयोग किया जाएगा। मैं ऐसा करने के लिए R का उपयोग कर रहा हूं। यहाँ मेरे कोड का एक उदाहरण है:
x<-c(23,19,37,38,40,36,172,48,113,90,54,104,90,54,157,51,77,78,144,34,29,45,16,15,37,218,170,44,121)
f<-fitdistr(x, 'weibull')
यह तब तक ठीक काम करता है जब तक कि इनपुट ऐरे में कोई शून्य न हो, जिसके कारण यह पूरी तरह से विफल हो जाता है। एसएएस में भी यही बात होती है। जैसा कि मैं इसे समझता हूं, यह इसलिए है क्योंकि वीबुल वितरण की गणना में एक कदम प्राकृतिक लॉग ले रहा है, जो 0. के लिए अपरिभाषित है। क्या इसके आसपास काम करने का एक उचित तरीका है?
मैंने अब तक जो सबसे अच्छा पाया है, वह है मेरे सभी इनपुट वैल्यू में 1 जोड़ना, कर्व को फिट करना, और फिर मेरे प्रिवेटेड वैल्यूज़ में से एक को घटाना (कर्व को ऊपर और फिर नीचे से 1 को बदलना)। यह पहले से अनुमानित डेटा को काफी अच्छी तरह से फिट करता है, लेकिन ऐसा लगता है कि ऐसा करने का एक गलत तरीका होना चाहिए।
संपादित करें: इनपुट ऐरे में मान देखे जाते हैं, वास्तविक-विश्व डेटा (कुछ होने की संख्या) कुछ वर्षों के लिए। इसलिए कुछ वर्षों में घटनाओं की संख्या शून्य थी। यह सबसे अच्छा तरीका है या नहीं (मैं सहमत हूं कि यह नहीं हो सकता है), मूल एल्गोरिथ्म लेखक का दावा है कि वेइबुल वितरण का उपयोग किया है, और मुझे उनकी प्रक्रिया को दोहराने की कोशिश करनी होगी।