লিনিয়ার মডেল যেখানে আর ব্যবহার করে ডেটা অনিশ্চয়তা রয়েছে


9

ধরা যাক আমার কাছে ডেটা রয়েছে যা কিছু অনিশ্চয়তা রয়েছে। উদাহরণ স্বরূপ:

X  Y
1  10±4
2  50±3
3  80±7
4  105±1
5  120±9

অনিশ্চয়তার প্রকৃতি হ'ল পুনরাবৃত্তি পরিমাপ বা পরীক্ষাগুলি বা উদাহরণ হিসাবে উদাহরণস্বরূপ যন্ত্রের অনিশ্চয়তা।

আমি আর এর সাহায্যে এটিতে একটি বক্রতা ফিট করতে চাই, এমন কিছু যা সাধারণত আমি করতাম lm। যাইহোক, এটি ফিটের সহগগুলির মধ্যে অনিশ্চয়তা এবং ফলস্বরূপ ভবিষ্যদ্বাণী অন্তরগুলি যখন দেয় তখন এটি ডেটাতে অনিশ্চয়তা বিবেচনা করে না। ডকুমেন্টেশনের দিকে তাকিয়ে lmপৃষ্ঠাটিতে এটি রয়েছে:

... বিভিন্ন পর্যবেক্ষণের বিভিন্ন রূপ রয়েছে তা বোঝাতে ওজন ব্যবহার করা যেতে পারে ...

সুতরাং এটি আমাকে ভাবতে বাধ্য করে যে সম্ভবত এটির সাথে এর কিছু আছে। আমি এটি ম্যানুয়ালি করার তত্ত্বটি জানি, তবে আমি ভাবছিলাম যে lmফাংশনটি দিয়ে এটি করা সম্ভব কিনা । যদি তা না হয় তবে এমন কোনও কার্যকারিতা (বা প্যাকেজ) রয়েছে যা এটি করতে সক্ষম?

সম্পাদনা

কিছু মন্তব্য দেখে, এখানে কিছু স্পষ্টতা দেওয়া হল। এই উদাহরণটি ধরুন:

x <- 1:10
y <- c(131.4,227.1,245,331.2,386.9,464.9,476.3,512.2,510.8,532.9)
mod <- lm(y ~ x + I(x^2))
summary(mod)

আমাকে দেয়:

Residuals:
    Min      1Q  Median      3Q     Max 
-32.536  -8.022   0.087   7.666  26.358 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  39.8050    22.3210   1.783  0.11773    
x            92.0311     9.3222   9.872 2.33e-05 ***
I(x^2)       -4.2625     0.8259  -5.161  0.00131 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 18.98 on 7 degrees of freedom
Multiple R-squared:  0.986, Adjusted R-squared:  0.982 
F-statistic: 246.7 on 2 and 7 DF,  p-value: 3.237e-07

সুতরাং মূলত, আমার সহগ একটি = 39.8 ± 22.3, খ = 92.0 ± 9.3, সি = -4.3 ± 0.8। এখন বলতে প্রতিটি ডাটা পয়েন্ট জন্য, ত্রুটি 20 আমি ব্যবহার করবে দেয় weights = rep(20,10)মধ্যে lmকল এবং আমি এই পরিবর্তে পাবেন:

Residual standard error: 84.87 on 7 degrees of freedom

কিন্তু সহগের স্টাডি ত্রুটিগুলি পরিবর্তন হয় না।

ম্যানুয়ালি, আমি কীভাবে ম্যাট্রিক্স বীজগণিত ব্যবহার করে কোভেরিয়েন্স ম্যাট্রিক্স গণনা করে সেখানে ওজন / ত্রুটি স্থাপন করেছি এবং এটি ব্যবহার করে আত্মবিশ্বাসের অন্তর পেতে পারি তা আমি জানি। সুতরাং এলএম ফাংশন নিজেই এটি করার একটি উপায় আছে, বা অন্য কোন ফাংশন?


আপনি যদি ডেটা বন্টন জানেন তবে bootআপনি আর এ প্যাকেজটি ব্যবহার করে এটি বুটস্ট্র্যাপ করতে পারেন wards এর পরে আপনি বুটস্ট্র্যাপড ডেটা সেটটিতে লিনিয়ার রিগ্রেশন চালাতে পারেন।
ফেরদি

lmওজন হিসাবে স্বাভাবিককরণের বৈকল্পগুলি ব্যবহার করবে এবং তারপরে ধরে নেওয়া হবে যে পরামিতিগুলির অনিশ্চয়তা অনুমান করার জন্য আপনার মডেল পরিসংখ্যানগতভাবে বৈধ। আপনি যদি ভাবেন যে এটি কেস নয় (ত্রুটি বারগুলি খুব ছোট বা খুব বড়) তবে আপনার কোনও অনিশ্চয়তার প্রাক্কলন বিশ্বাস করা উচিত নয়।
পাস্কাল

এই প্রশ্নটি এখানেও দেখুন: stats.stackex
بدل.

উত্তর:


14

এই ধরণের মডেলটি বিজ্ঞানের নির্দিষ্ট শাখাগুলিতে (যেমন পদার্থবিজ্ঞান) এবং ইঞ্জিনিয়ারিংয়ে "সাধারণ" লিনিয়ার রিগ্রেশনের চেয়ে অনেক বেশি সাধারণ। সুতরাং, পদার্থবিজ্ঞানের সরঞ্জামগুলিতে যেমন ROOTএই ধরণের ফিট করা তুচ্ছ, তবে লিনিয়ার রিগ্রেশন স্থানীয়ভাবে প্রয়োগ হয় না! পদার্থবিজ্ঞানীরা এটিকে কেবল "ফিট" বা চি-স্কোয়ার মিনিমাইজিং ফিট হিসাবে অভিহিত করেন।

সাধারণ লিনিয়ার রিগ্রেশন মডেল ধরে নেয় যে প্রতিটি পরিমাপের সাথে একটি সামগ্রিক বৈচিত্র রয়েছে । এরপরে এটি বা সমতুল্যভাবে এর লগারিদম সম্ভাবনা সর্বাধিক করে তোলে অতএব নামটি সর্বনিম্ন-বর্গ - সম্ভাবনা সর্বাধিক করে তোলা বর্গের সমষ্টি কমানোর হিসাবে একই, এবং একটি গুরুত্বহীন ধ্রুবক, যতদিন এটা হয় ধ্রুবক। বিভিন্ন পরিচিত অনিশ্চয়তা রয়েছে এমন পরিমাপের সাহায্যে আপনি σ

Lie12(yi(axi+b)σ)2
log(L)=constant12σ2i(yi(axi+b))2
σ
Le12(y(ax+b)σi)2
বা সমতুল্যভাবে এর লোগারিদম So সুতরাং , আপনি প্রকৃতপক্ষে বিপরীত নয়, বিপরীত দ্বারা পরিমাপটি ওজন করতে চান । এটি উপলব্ধি করে - একটি আরও সঠিক পরিমাপের ক্ষেত্রে ছোট অনিশ্চয়তা থাকে এবং আরও ওজন দেওয়া উচিত। মনে রাখবেন যে এই ওজন যদি স্থির থাকে তবে তা যোগফলের বাইরে থেকে যায়। সুতরাং, এটা অনুমান করা মান প্রভাবিত করে না, কিন্তু এটা করা উচিত মান ত্রুটি, দ্বিতীয় ব্যুৎপন্ন থেকে নেওয়া প্রভাবিত ।
log(L)=constant12(yi(axi+b)σi)2
1/σi2log(L)

তবে, এখানে আমরা পদার্থবিজ্ঞান / বিজ্ঞান এবং পরিসংখ্যানের মধ্যে আরও একটি পার্থক্য নিয়ে এসেছি। সাধারণত পরিসংখ্যানগুলিতে, আপনি আশা করেন যে দুটি ভেরিয়েবলের মধ্যে একটি পারস্পরিক সম্পর্ক থাকতে পারে তবে খুব কমই এটি সঠিক হবে exact অন্যদিকে পদার্থবিজ্ঞান এবং অন্যান্য বিজ্ঞানের ক্ষেত্রে, আপনি প্রায়শই একটি পারস্পরিক সম্পর্ক বা সম্পর্ক সঠিক হওয়ার প্রত্যাশা করেন, যদি এটি কেবল পেস্কি পরিমাপের ত্রুটির জন্য না হয় (যেমন, , ) না। আপনার সমস্যাটি ফিজিক্স / ইঞ্জিনিয়ারিংয়ের ক্ষেত্রে আরও পড়েছে বলে মনে হচ্ছে। ফলস্বরূপ, আপনার পরিমাপ এবং ওজনগুলির সাথে সংযুক্ত অনিশ্চয়তার ব্যাখ্যা আপনি যা চান তা ঠিক একই নয়। এটি ওজন নেবে, তবে এটি এখনও সামগ্রিকভাবে thinks রয়েছে বলে মনে করেF=maF=ma+ϵlmσ2রিগ্রেশন ত্রুটির জন্য অ্যাকাউন্টে যা আপনি যা চান তা নয় - আপনি চান যে আপনার পরিমাপ ত্রুটি কেবল এক ধরণের ত্রুটিই হোক। ( lmএর ব্যাখ্যার শেষ ফলাফলটি হ'ল কেবল ওজনগুলির আপেক্ষিক মূল্যবোধই আসে, এজন্য আপনি পরীক্ষা হিসাবে যুক্ত ধ্রুবক ওজনের কোনও প্রভাব পড়েনি)। এখানে প্রশ্নোত্তরের আরও বিশদ রয়েছে:

এলএম ওজন এবং মান ত্রুটি

উত্তরগুলিতে দেওয়া কয়েকটি সম্ভাব্য সমাধান রয়েছে। বিশেষত, সেখানে একটি বেনামি উত্তর ব্যবহার করার পরামর্শ দেয়

vcov(mod)/summary(mod)$sigma^2

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

সম্পাদনা

আপনি যদি এই ধরণের জিনিসটি ব্যবহার করে থাকেন তবে আপনি ব্যবহার করার বিষয়টি বিবেচনা করতে পারেন ROOT(যা মনে হয় এটি এই স্থানীয়ভাবে করার সময় হয় lmএবং glmনা)। এটি কীভাবে করা যায় তার একটি সংক্ষিপ্ত উদাহরণ এখানে ROOT। প্রথমে, ROOTসি ++ বা পাইথনের মাধ্যমে ব্যবহার করা যেতে পারে এবং এটি একটি বিশাল ডাউনলোড এবং ইনস্টলেশন। আপনি ব্রাউজারে এটি বৃহস্পতি নোটবুক ব্যবহার করে এখানে লিঙ্কটি অনুসরণ করে ডানদিকে "বাইন্ডার" এবং বামদিকে "পাইথন" বেছে নিতে পারেন।

import ROOT
from array import array
import math
x = range(1,11)
xerrs = [0]*10
y = [131.4,227.1,245,331.2,386.9,464.9,476.3,512.2,510.8,532.9]
yerrs = [math.sqrt(i) for i in y]
graph = ROOT.TGraphErrors(len(x),array('d',x),array('d',y),array('d',xerrs),array('d',yerrs))
graph.Fit("pol2","S")
c = ROOT.TCanvas("test","test",800,600)
graph.Draw("AP")
c.Draw()

আমি অনিশ্চয়তা হিসাবে স্কোয়ার শিকড় স্থাপন করেছি yমান। ফিট আউটপুট হয়

Welcome to JupyROOT 6.07/03

****************************************
Minimizer is Linear
Chi2                      =       8.2817
NDf                       =            7
p0                        =      46.6629   +/-   16.0838     
p1                        =       88.194   +/-   8.09565     
p2                        =     -3.91398   +/-   0.78028    

এবং একটি দুর্দান্ত প্লট তৈরি করা হয়েছে:

quadfit

রুট ফিটার এছাড়াও অনিশ্চয়তা পরিচালনা করতে পারে xমানগুলি, যার সম্ভবত আরও বেশি হ্যাকিংয়ের প্রয়োজন হবে lm। যদি আর-তে এটি করার কোনও স্থানীয় উপায় জেনে থাকে তবে আমি এটি জানতে আগ্রহী।

দ্বিতীয় সম্পাদনা

@ ওল্ফগ্যাং দ্বারা পূর্ববর্তী একই প্রশ্নের অন্য উত্তরটি আরও ভাল সমাধান দেয়: প্যাকেজটি rmaথেকে প্রাপ্ত সরঞ্জাম metafor(আমি মূলত উত্তরটির পাঠ্যটির অর্থ এটি বোঝাতে চাইছি যে এটি বিরতি গণনা করে নি, তবে এটি ক্ষেত্রে নেই)। Y পরিমাপের বিভিন্ন রূপ গ্রহণ করা সহজভাবে y হতে:

> rma(y~x+I(x^2),y,method="FE")

Fixed-Effects with Moderators Model (k = 10)

Test for Residual Heterogeneity: 
QE(df = 7) = 8.2817, p-val = 0.3084

Test of Moderators (coefficient(s) 2,3): 
QM(df = 2) = 659.4641, p-val < .0001

Model Results:

         estimate       se     zval    pval    ci.lb     ci.ub     
intrcpt   46.6629  16.0838   2.9012  0.0037  15.1393   78.1866   **
x         88.1940   8.0956  10.8940  <.0001  72.3268  104.0612  ***
I(x^2)    -3.9140   0.7803  -5.0161  <.0001  -5.4433   -2.3847  ***

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

এই ধরণের রিগ্রেশনের জন্য এটি অবশ্যই সেরা খাঁটি আর সরঞ্জাম found


আমি মনে করি স্কেলিংটিকে পূর্বাবস্থায় ফেরাটা মূলত ভুল lm। আপনি যদি এটি করেন, চি-স্কোয়ারের মতো বৈধতা সংক্রান্ত পরিসংখ্যান বন্ধ হয়ে যাবে। যদি আপনার অবশিষ্টাংশগুলির ছড়িয়ে পড়া আপনার ত্রুটি বারগুলির সাথে মেলে না, তবে পরিসংখ্যানের মডেলটিতে কিছু ভুল (মডেল পছন্দ বা ত্রুটি বার বা সাধারণ অনুমান ...)। উভয় ক্ষেত্রেই, প্যারামিটারগুলির অনিশ্চয়তা অবিশ্বাস্য হবে !!!
পাস্কাল

এই টুইটটি আমার কাছে নেই; আমি আপনার মন্তব্য সম্পর্কে চিন্তা করব। সত্যি কথা বলতে, আমি একটি সাধারণ অর্থে একমত যে আমি মনে করি যে lmসঠিক সমাধান আউটপুট পেতে হ্যাক না করে সঠিকভাবে এই সমস্যার সমাধানের জন্য গ্যারান্টিযুক্ত ফিজিক্স বা ইঞ্জিনিয়ারিং সফ্টওয়্যার ব্যবহার করা সবচেয়ে ভাল সমাধান । (যদি কেউ কৌতূহলী হন তবে আমি এটি কীভাবে করব তা দেখাব ROOT)।
jwimberley

1
সমস্যা সম্পর্কিত পরিসংখ্যানবিদদের পদ্ধতির একটি সম্ভাব্য সুবিধা হ'ল এটি বিভিন্ন স্তরের পর্যবেক্ষণের মধ্যে বৈকল্পিক প্রাক্কলন সজ্জিত করতে দেয়। অন্তর্নিহিত বৈকল্পিক যদি স্থির থাকে বা পোইসন প্রক্রিয়াগুলির মতো পরিমাপের সাথে কিছু সংজ্ঞায়িত সম্পর্ক থাকে তবে বিশ্লেষণটি সাধারণত (ডাটা অব পয়েন্টের জন্য পরিমাপ করা ভেরিয়েন্সটি সঠিক এবং এইভাবে অন্যায়ভাবে ভারনির্ভর) অনুমান থেকে যেটি পেয়েছেন তার তুলনায় সাধারণত উন্নতি হবে improved কিছু তথ্য পয়েন্ট। ওপি-র ডেটা-তে, আমি অনুমান করি যে ধ্রুবক-বৈকল্পিক ধারণাটি আরও ভাল হতে পারে।
এডিএম

1
@ jwimberley আমি ধরে নিই σপ্যারামিটারগুলি কোভারিয়েন্স ম্যাট্রিক্স গণনা করার আগে ওজনযুক্ত অবশিষ্টাংশের মান ত্রুটি 1 এ পুনরুদ্ধার করা হয়েছে তা নিশ্চিত করে। আপনি এটি দ্বারা আমার ওজনকে আরও বাড়িয়ে পরীক্ষা করতে পারেনσ2এবং দেখুন "রেসিডুয়ালস স্ট্যান্ডার্ড ত্রুটি" আউটপুট কীভাবে প্রভাবিত হয়। আপনার উদাহরণে, এটা 1,088 থেকে 1. পরিবর্তিত যদি আপনার সেটআপ পরিসংখ্যানগত বৈধ, স্কেলিং পরামিতি অনিশ্চয়তা শুধুমাত্র একটি ছোটখাট প্রভাব রয়েছে ...
পাসকাল

1
এন্ড্রেওন, এস এবং ওয়েভার, বি। (2015) এর অধ্যায় 8 এ এই বিষয়গুলির একটি ভাল আলোচনা রয়েছে যা শারীরিক বিজ্ঞানের জন্য বায়েশিয়ান পদ্ধতিগুলি। স্প্রিঙ্গের। springer.com/us/book/9783319152868
টনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.