কীভাবে: বুটস্ট্র্যাপিংয়ের মাধ্যমে লিনিয়ার রিগ্রেশনের জন্য পূর্বাভাস অন্তরগুলি


14

লিনিয়ার রিগ্রেশন মডেলটির পূর্বাভাস অন্তরগুলি গণনা করতে কীভাবে বুটস্ট্র্যাপিং ব্যবহার করবেন তা বুঝতে আমার সমস্যা হচ্ছে । কেউ কি ধাপে ধাপে পদ্ধতির রূপরেখা তৈরি করতে পারে? আমি গুগলের মাধ্যমে অনুসন্ধান করেছি কিন্তু কিছুই আমার কাছে সত্যিকার অর্থে আসে না।

আমি বুঝতে পারি কীভাবে মডেল পরামিতিগুলির জন্য আস্থা অন্তর গণনা করার জন্য বুটস্ট্র্যাপিং ব্যবহার করতে হয়।


1
এটি স্পষ্টত অ্যালগরিদম (অ্যালগোরিদম .4.৪) সহ ডেভিসন এবং হিঙ্কলে, বুটস্ট্র্যাপ পদ্ধতি এবং তাদের প্রয়োগ সম্পর্কিত বইটিতে বিস্তারিত আলোচনা করা হয়েছে । তারা এখানে যুক্তিসঙ্গত উত্তরে যতটা সম্ভব দৈর্ঘ্যে ধারণাগুলি, সমস্যাগুলি এবং বিশদগুলি ব্যাখ্যা করে।
গ্লেন_বি -রিনস্টেট মনিকা

@ গ্লেেন_বি রেফারেন্সের জন্য ধন্যবাদ। দুর্ভাগ্যক্রমে আমি কোনও বিশ্ববিদ্যালয় বা সংস্থায় আছি না সুতরাং বইটি অর্জনের আমার কাছে সংস্থান নেই।
সর্বোচ্চ

এটি অ্যামাজন থেকে অর্ডার করা যেতে পারে; অ্যালগরিদম এবং সমস্ত সম্পর্কিত ক্যাভ্যাটস এবং ইস্যুগুলির সম্পূর্ণ ব্যাখ্যা আপনি কয়েকশ শব্দের বা এমনকি একটি পৃষ্ঠার উত্তরে যে ধরণের জিনিসটি কভার করতে পারেন তা আসলে নয়।
গ্লেন_বি -রিনস্টেট মনিকা

1
@ গ্লেেন_বি আমি ডেভিসন এবং হিঙ্কলি থেকে আলগোরিদিম লিখেছিলাম --- এই বিষয়ে সিভিতে বেশ কয়েকটি প্রশ্ন রয়েছে, তাই আমি ভেবেছিলাম এটি চেষ্টা করার মতো ছিল। আপনার যে কোনও মন্তব্য প্রশংসিত হবে। stats.stackexchange.com/questions/226565/…
বিল

এই থ্রেডটি আপনার প্রশ্নের জবাব দেয় বলে মনে হচ্ছে: stats.stackexchange.com/questions/226565/…
user2683832

উত্তর:


7

আত্মবিশ্বাসের বিরতিগুলি অনুমানের অনিশ্চয়তার বিষয়টি বিবেচনা করে। ভবিষ্যদ্বাণী অন্তরগুলি এটিকে মৌলিক অনিশ্চয়তায় যুক্ত করে। আর এর predict.lmএকটি লিনিয়ার মডেল জন্য পূর্বাভাস অন্তর দিতে হবে। সেখান থেকে, আপনাকে যা করতে হবে তা হ'ল এটি বার বার বুটস্ট্র্যাপযুক্ত নমুনাগুলিতে চালানো উচিত।

n <- 100
n.bs <- 30

dat <- data.frame( x<-runif(n), y=x+runif(n) )
plot(y~x,data=dat)


regressAndPredict <- function( dat ) {
  model <- lm( y~x, data=dat )
  predict( model, interval="prediction" )
}

regressAndPredict(dat)

replicate( n.bs, regressAndPredict(dat[ sample(seq(n),replace=TRUE) ,]) )

এর ফলাফলটি replicateএকটি 3-মাত্রিক অ্যারে ( nx 3x n.bs)। দৈর্ঘ্য 3 মাত্রা প্রতিটি ডেটা উপাদানগুলির জন্য লাগানো মান এবং 95% পূর্বাভাস ব্যবধানের নীচের / উপরের সীমানাকে ধারণ করে।

গ্যারি কিং পদ্ধতি

আপনি যা চান তার উপর নির্ভর করে কিং, টমজ এবং উইটেনবার্গের একটি দুর্দান্ত পদ্ধতি রয়েছে । এটি প্রয়োগ করা তুলনামূলকভাবে সহজ, এবং নির্দিষ্ট অনুমানের জন্য উদাহরণস্বরূপ বুটস্ট্র্যাপিংয়ের সমস্যাগুলি এড়ানো (যেমন max(Y))।

আমি এখানে তার মৌলিক অনিশ্চয়তার সংজ্ঞাটি উদ্ধৃত করব, যেহেতু এটি যুক্তিযুক্তভাবে দুর্দান্ত:

পরিবর্তনশীলতার দ্বিতীয় রূপ, সমীকরণ 1-এ স্টোকাস্টিক উপাদান (বন্টন চ) দ্বারা প্রতিনিধিত্ব করা মৌলিক অনিশ্চয়তা, আবহাওয়া বা অসুস্থতার মতো অসংখ্য সুযোগের ইভেন্টের ফলস্বরূপ, ওয়াই প্রভাবিত করতে পারে তবে এক্স এর মধ্যে অন্তর্ভুক্ত নয় যদিও if আমরা পরামিতিগুলির প্রাক্তন আইনগুলি জানতাম (এর ফলে অনুমানের অনিশ্চয়তা দূর করে), মৌলিক অনিশ্চয়তা আমাদের ত্রুটি ছাড়াই ওয়াইয়ের পূর্বাভাস দেওয়া থেকে বিরত করবে।


3
নিশ্চিত নন যে আপনি এন.বি.এস. পূর্বাভাস অন্তরগুলির এই ম্যাট্রিক্স থেকে একটি আত্মবিশ্বাসের ব্যবধান কীভাবে তৈরি করেন।
বি_মিনার

1

বুটস্ট্র্যাপিং যে নমুনাটি থেকে উদ্ভূত অন্তর্নিহিত পিতাম বিতরণ ফর্ম সম্পর্কে কোন জ্ঞান গ্রহণ করে না। প্রচলিত ধ্রুপদী পরিসংখ্যানের পরামিতি অনুমানগুলি স্বাভাবিকতা অনুমানের উপর ভিত্তি করে। বুটস্ট্র্যাপ অ-স্বাভাবিকতা নিয়ে কাজ করে এবং শাস্ত্রীয় পদ্ধতির চেয়ে অনুশীলনে আরও নির্ভুল।

বুটস্ট্র্যাপিং কঠোর তাত্ত্বিক বিশ্লেষণের জন্য কম্পিউটারের কাঁচা কম্পিউটিং পাওয়ারকে প্রতিস্থাপন করে। এটি কোনও ডেটা সেট ত্রুটি শর্তের নমুনা বিতরণের জন্য একটি অনুমান। বুটস্ট্র্যাপিংয়ের মধ্যে রয়েছে: ডেটা পুনরায় স্যাম্পলিং নির্দিষ্ট সময় নির্ধারণ করে, প্রতিটি নমুনা থেকে গড় গণনা করে এবং গড়টির ত্রুটি খুঁজে বের করে।

নিম্নলিখিত "আর" কোডটি ধারণাটি দেখায়:

এই ব্যবহারিক উদাহরণ বুটস্ট্র্যাপিংয়ের কার্যকারিতা প্রদর্শন করে এবং স্ট্যান্ডার্ড ত্রুটির অনুমান করে। আত্মবিশ্বাসের ব্যবধান গণনা করতে স্ট্যান্ডার্ড ত্রুটি প্রয়োজন।

আসুন ধরে নেওয়া যাক আপনার কাছে একটি স্কিউ ডেটা সেট আছে "ক":

a<-rexp(395, rate=0.1)          # Create skewed data

স্কিউড ডেটা সেটটির ভিজ্যুয়ালাইজেশন

plot(a,type="l")                # Scatter plot of the skewed data
boxplot(a,type="l")             # Box plot of the skewed data
hist(a)                         # Histogram plot of the skewed data

বুটস্ট্র্যাপিং পদ্ধতিটি সম্পাদন করুন:

n <- length(a)                  # the number of bootstrap samples should equal the original data set
    xbarstar <- c()                 # Declare the empty set “xbarstar” variable which will be holding the mean of every bootstrap iteration
    for (i in 1:1000) {             # Perform 1000 bootstrap iteration
        boot.samp <- sample(a, n, replace=TRUE) #”Sample” generates the same number of elements as the original data set
    xbarstar[i] <- mean(boot.samp)} # “xbarstar” variable  collects 1000 averages of the original data set
    ## 
    plot(xbarstar)                  # Scatter plot of the bootstrapped data
    boxplot(xbarstar)               # Box plot of the bootstrapped data
    hist(xbarstar)                  # Histogram plot of the bootstrapped data

    meanOfMeans <- mean(xbarstar)
    standardError <- sd(xbarstar)    # the standard error is the standard deviation of the mean of means
    confidenceIntervalAboveTheMean <- meanOfMeans + 1.96 * standardError # for 2 standard deviation above the mean 
    confidenceIntervalBelowTheMean <- meanOfMeans - 1.96 * standardError # for 2 standard deviation above the mean 
    confidenceInterval <- confidenceIntervalAboveTheMean + confidenceIntervalBelowTheMean
    confidenceInterval

1
উদাহরণস্বরূপ রাগিকে ধন্যবাদ। তবে আমি যা দেখতে পাচ্ছি সেগুলি থেকে বুটস্ট্র্যাপ ব্যবহার করে ভবিষ্যদ্বাণী ব্যবস্থার গণনা কভার হয়নি। আমি আমার উত্তরে বলেছি আমি আত্মবিশ্বাসের অন্তরগুলি গণনা করতে বুটস্ট্র্যাপিং কীভাবে ব্যবহার করব তা ইতিমধ্যে বুঝতে পেরেছি - যা আপনার কোডটি মনে হয়।
সর্বোচ্চ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.