केवल 5 से 7 डेटा बिंदुओं द्वारा लॉजिस्टिक प्रतिगमन के लिए एक ऊपरी बिंदु का अनुमान कैसे करें?


11

मेरे पास डेटा है जो फॉर्म । से के अनुमान के लिए मैं इस पत्र के सूत्रों का उपयोग करता हूं: जॉन फॉक्स - रिग्रेशन और वर्ग । इस पत्र में, डेटा को देखकर अनुमान लगाया जाता है। अगर मैं ऐसा करता हूं तो यह ठीक काम करता है, भले ही मेरे पास केवल तीन बिंदु हों। उससे मैं दो अन्य की गणना कर सकता हूं। मैंने अपने मापदंडों को सी # में आर और लेवेनबर्गमार्क्वर्ड में nls () के साथ परीक्षण किया। उनके द्वारा लौटाए गए मॉडल संतोषजनक हैं। β1β3y=β11+exp(β2+β3x)β1β3β1

समस्या यह है कि मैं एक अच्छा अनुमानक पाने के लिए डेटा को देखना नहीं चाहता हूँ , मैं चाहता हूं कि मेरा कार्यक्रम इसकी गणना करे। कुछ समय के लिए मैंने ऐसे मानों का उपयोग किया जो मेरे मूल्यों की अधिकतम सीमा से कुछ अधिक थे ( और \ max * 1.5 के बीच । यह तब तक ठीक काम करता था जब तक कि बिंदु अधिकांश फ़ंक्शन को कवर कर लेते हैं। यह भी ठीक काम करता है यदि यह ठीक है। डेटा पॉइंट कर्व के "टॉप" से कहीं थे, लेकिन जब वे सभी विभक्ति बिंदु "नीचे" क्षेत्र से आए थे, तो यह अनुमानक निश्चित रूप से कम होना चाहिए था और मुझे मॉडल फिट नहीं कर सका। अगर मैं कुछ का उपयोग करता हूं। यह निश्चित रूप से अधिकतम बिंदु से अधिक है (इसे हास्यास्पद रूप से उच्च मूल्यों के साथ गुणा करके) मॉडल किसी भी उपयोगी तरीके से फिट नहीं होता है।β1max1.1max1.5

माप इस तरह दिख सकते हैं:

x = (40, 50, 60, 70), y = (1000, 950, 400, 200) -> अनुमान लगाने में आसान

x = (40, 50, 60, 70), y = (1000, 950, 800, 100) -> अनुमान लगाने में आसान

x = (40, 50, 60, 70), y = (500, 200, 100, 50) -> अनुमान लगाना इतना आसान नहीं

मुझे लगता है कि मुझे पता चल सकता है कि मैं दिए गए बिंदुओं में डेल्टास की गणना करके फ़ंक्शन में ("नीचे", "शीर्ष पर" ढलान में) कहां हूं, और इसके आधार पर एक ऊपरी बाध्य गणना करें। क्या किसी के पास बेहतर समाधान के लिए कोई संकेत है? अतिरिक्त जानकारी: यदि ऐसा नहीं किया जा सकता है, तो मेरे लिए यह अधिक महत्वपूर्ण है कि जो माप फिट किए जा सकते हैं वे यथासंभव अच्छे हैं और मैं स्वीकार करता हूं कि कुछ मापों को बिल्कुल भी फिट नहीं किया जा सकता है।

(हालांकि मैं C # में एक कार्यान्वयन चाहता हूं, मैंने इसे यहां पोस्ट किया है, मुझे नहीं लगता कि समस्या भाषा पर निर्भर है)

अद्यतन (इसका आवेदन):

x तापमान मान und हैं जो संबंधित माप हैं। स्वभाव से यह दिया जाता है कि यह एक लॉजिस्टिक कर्व जैसा होना चाहिए जिसमें कम तापमान पर अधिक y मान हो और इसके विपरीत। पिघलने बिंदु वक्र के विभक्ति बिंदु के बराबर है, जो मॉडल मापदंडों के छोटे परिवर्तनों के साथ बहुत कुछ बदलता है।

अद्यतन (कुछ डेटा 7 डेटा बिंदुओं के साथ और 60 पर ज्ञात विभक्ति बिंदु):

//first I made up some data without any noise and enough (13) points
double[] x17 = { 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90 };
double[] y17 = { 2000, 1920, 1820, 1700, 1500, 1280, 1000, 720, 500, 300, 180, 80, 0 };
//calculated inflection point: 59.642....

//Then I took three different parts of that data 
(to simulate how much data I will have in the real world)
double[] x18 = { 30, 35, 40, 45, 50, 55, 60 };
double[] y18 = { 2000, 1920, 1820, 1700, 1500, 1280, 1000 };
//calculated inflection point: 59.263.... is ok!

double[] x19 = { 60, 65, 70, 75, 80, 85, 90 };
double[] y19 = { 1000, 720, 500, 300, 180, 80, 0 };
//calculated inflection point: 53.447.... to small!

double[] x20 = { 45, 50, 55, 60, 65, 70, 75 };
double[] y20 = { 1700, 1500, 1280, 1000, 720, 500, 300 };
//calculated inflection point: 59.868... almost perfect!

एक ऊपरी बाध्य अनुमान के लिए मेरा वर्तमान दृष्टिकोण y0 * y0 / y1 है। इस तरह मुझे उम्मीद है कि मैं हमेशा अधिकतम मूल्य के करीब नहीं हो सकता हूं।

अद्यतन: x और y मान कभी भी नकारात्मक नहीं होंगे। x हमेशा {40, 45, 50, 55, 60, 65, 70} होगा जब तक कि एक डेटा बिंदु खो न जाए।

अद्यतन: मैंने कई किया, सिम्युलेटेड डेटा के साथ कई परीक्षण जो कि फिट करने के लिए आसान होना चाहिए (मैं ऐसे डेटा बिंदु चुनता हूं जो बिल्कुल वक्र = बिना किसी शोर के थे) और मैं देखता हूं कि यह ठीक काम करता है, जब तक कि पहले या दूसरे डेटा बिंदु (जहां नहीं x = 40 या x = 45) गायब है। मुझे लगता है कि मुझे इस तरह के मापों को त्यागना होगा और उपयोगकर्ता को उसी के साथ रहना होगा।


इतनी कम संख्या के साथ मुझे लगता है कि आपकी वास्तविक समस्या अनुमानों की अशुद्धि है न कि आप उनकी गणना कैसे करते हैं।
माइकल आर। चेरिक

1
अंतिम उदाहरण के साथ समस्या यह है कि फॉर्म (नकारात्मक संकेत नोटिस एक फ़ंक्शन द्वारा बहुत बेहतर फिट प्राप्त किया जाता है । क्या यह स्वीकार्य समाधान है? यदि नहीं, तो आपको समस्याएँ बनी रहेंगी, क्योंकि आपको दो मॉडल (और वे भयानक हैं) के बीच सीमा पर समाधान स्वीकार करना होगा। y=β11exp(β2+β3x))
whuber

@MichaelChernick मुझे लगता है कि आप सही हैं, समस्या यह है कि मुझे 7 से अधिक डेटा पॉइंट कभी नहीं मिलेंगे। मुझे लगता है कि मुझे इससे भी कम परिणाम निकालने होंगे। मैंने परिणामों के साथ परीक्षण मामलों को जोड़ा जो समान होना चाहिए। क्या इसमें सुधार की गुंजाइश है या क्या यह मेरे निकटतम है?
वीराना हन्सचमिड

@ जब भी मैंने नकारात्मक संकेत के साथ डेटा को फिट करने की कोशिश की, लेकिन प्रत्येक पैरामीटर सेट के लिए मुझे एक विलक्षण ढाल मैट्रिक्स त्रुटि (आर में) मिली। आप कौन से अनुमानक थे? मैंने उस क्षेत्र के बारे में जानकारी जोड़ी, जिसका उपयोग मैं रेखांकित करता हूं कि वक्र को इस तरह क्यों देखना है। (मुझे यकीन नहीं है कि अगर आपका सूत्र इन आवश्यकताओं को पूरा करता है)
वेरना हाउंस्किमिड

(1) कौन सी इकाइयाँ हैं ? यदि ये नकारात्मक हो सकते हैं, तो आपका मॉडल शायद काम नहीं करेगा। (२) आप " मूल्यों " की प्रकृति के बारे में क्या बता सकते हैं या मानों में त्रुटियां हैं? यह फिटिंग के लिए महत्वपूर्ण हो सकता है। yy
whuber

जवाबों:


1

मैंने इस साल की शुरुआत में इसी तरह की समस्या पर काम किया था। मेरे द्वारा उपयोग किया जाने वाला समाधान इस पेपर पर आधारित था , जो कि अधिकतम को खत्म करने के लिए रैखिक बीजगणित का उपयोग करता है । इस तरह, शेष मापदंडों के लिए परिणाम, एक बार कुछ प्रक्रिया के माध्यम से निर्धारित किए जाते हैं (मैं केवल त्रुटि सतह को कम कर देता हूं, जैसे कि कागज में), अंत में लिए इस्तेमाल किया जा सकता है ।β1β1

सहज रूप से, यह समाधान इस आधार पर टिकी हुई है कि सभी लॉजिस्टिक घटता समान दर और स्थान मापदंडों के साथ समान हैं, इसलिए ऊपरी बाउंड को सेट करने का मतलब सिग्मायोडल वक्र को उपयुक्त अधिकतम "स्ट्रेचिंग" करना है।

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