মাল্টিকলাইনারিটির উপস্থিতিতে লিনিয়ার রিগ্রেশন সহগের পরিসংখ্যানগত তাত্পর্য নির্ধারণ করা


9

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

এখন পরিষ্কার পপ। একটি শহরের আকার Uাবির সংখ্যার পাশাপাশি মদের দোকানে সংখ্যার সাথে ইতিবাচকভাবে সম্পর্কযুক্ত হতে চলেছে। সুতরাং আমি যদি কেবল মদের দোকানে সাধারণ লিনিয়ার রিগ্রেশন চালাই এবং যদি দেখি যে এর প্রতিরোধের সহগটি পরিসংখ্যানগত দিক থেকে তাৎপর্যপূর্ণ, তবে আমি সম্ভবত বহুতল্লিকতার কোনও সমস্যার মধ্যে চলে যাব এবং ডিইউআইগুলিতে অ্যালকোহল স্টোরের প্রভাবের অতিরিক্ত মূল্যায়ন করব।

এর জন্য আমি দুটি পদ্ধতির কোনটি ব্যবহার করতে পারি?

  1. মাথাপিছু মূল্য হিসাবে একটি অ্যালকোহল স্টোর পাওয়ার জন্য আমার নগরীর অ্যালকোহল স্টোরের সংখ্যা জনসংখ্যার দ্বারা ভাগ করে নেওয়া উচিত এবং তারপরে পুনরায় প্রতিক্রিয়া জানাতে হবে।

  2. আমার অ্যালকোহল স্টোর এবং আকার উভয়ই পুনরায় জমা করা উচিত এবং তারপরে আকারের জন্য নিয়ন্ত্রণ করার সময় মদের দোকান সহগটি যথেষ্ট তাৎপর্যপূর্ণ কিনা তা দেখুন।

  3. অন্য কোন পদ্ধতি?

আমি সৎভাবে সিদ্ধান্ত নিতে পারছি না যেটি আরও সংবেদনশীল বলে মনে হয়। আমি তাদের মধ্যে ভ্যাকিলিট করেছি, যার উপর আমি নির্ভর করি তার উপর নির্ভর করে আমি নিজেকে বোঝাতে সক্ষম হয়েছি যে এটিই সঠিক উপায়।

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


3
একটি প্রশ্নের উত্তর হ'ল আপনি যদি মডেল হারগুলি চান বা না চান। এটি পড়তে সাহায্য করতে পারে: একটি পইসন মডেলটিতে, সময়কে কোভারিয়েট বা অফসেট হিসাবে ব্যবহারের মধ্যে পার্থক্য কী?
gung - পুনর্বহাল মনিকা

2
একটি গুরুত্বপূর্ণ এবং সুগঠিত প্রশ্ন।
Rolando2

2
@ গুংয়ের লিঙ্কযুক্ত উত্তর থেকে এটি জোর দেওয়া উচিত: "আপনার মডেল গণনা করা উচিত বা হারগুলি সত্যই নির্ভর করবে আপনার নির্ভরযোগ্য প্রশ্নটি তার উপর নির্ভর করে You আপনি যা জানতে চান তার সাথে মিল রেখে আপনার মডেল করা উচিত" " (অর্থাত্ এপি মান হ্রাস করা নয়, তবে আগ্রহের প্রভাব মূল্যায়ন করা)
জিওম্যাট

উত্তর:


5

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

যখন এই সেটআপ, আরো আকর্ষণীয় আপনার মডেল 1. এখানে চেয়ে, আপনার বেস অনুমান করা যে ফিল্ম সংখ্যা জনসংখ্যার সমানুপাতিক হয় nonlinearity ক্যাপচার হবে, বড় শহরগুলোতে যেমন মানুষ মাতাল ড্রাইভিং প্রবণ। এছাড়াও এক্স সাংস্কৃতিক এবং আইনী পরিবেশকে সরাসরি প্রতিফলিত করে, ইতিমধ্যে আকারে সামঞ্জস্য। আপনি ভিন্ন ভিন্ন আকারের শহরগুলির জন্য মোটামুটি একই এক্স দিয়ে শেষ করতে পারেন। এটি আপনাকে অন্যান্য নিয়ন্ত্রণ ভেরিয়েবলগুলি যেমন রেড / ব্লু রাজ্য, উপকূলীয় / মহাদেশীয় ইত্যাদি প্রবর্তন করতে দেয় allowsβজেড


3

আপনার সাধারণ মডেলটি যদি সর্বনিম্ন স্কোয়ারগুলির সাথে অনুমান করে তবে আপনার দ্বিতীয় প্রতিরোধটি বরং সমস্যাযুক্ত।

এবং আপনি কীভাবে আপনার ত্রুটি শর্তের ভিন্নতা শহরের আকারের সাথে পরিবর্তিত হয় সে সম্পর্কে ভাবতে চাইতে পারেন।

রিগ্রেশন (2) আপনার রিগ্রেশন (1) এর সমান যেখানে পর্যবেক্ষণগুলি শহরের জনসংখ্যার বর্গ দ্বারা বর্ধিত হয় :

প্রতিটি শহরের জন্য আমি, দিন Yআমি মাথাপিছু গাড়ি চালানোর ঘটনা ঘটুক, আসুন এক্সআমি মাথাপিছু অ্যালকোহল স্টোর হও, চলুক এনআমি শহরের জনসংখ্যা হতে পারে।

রিগ্রেশন (1) হ'ল:

Yআমি=একটি+ +এক্সআমি+ +εআমি
যদি আপনি একটি ধ্রুবক ছাড়াই রিগ্রেশন (2) চালান, আপনি অবশ্যই জনগণের দ্বারা প্রতিরোধের প্রতিটি পর্যবেক্ষণ (1) ছোট করেছেন, এটি হ'ল আপনি চালিয়ে যাচ্ছেন:

এনআমিYআমি=একটিএনআমি+ +এনআমিএক্সআমি+ +তোমার দর্শন লগ করাআমি

এটি সর্বনিম্ন স্কোয়ারযুক্ত এবং আপনি যে ওজনগুলি প্রয়োগ করছেন সেগুলি শহরের জনসংখ্যার বর্গ । আপনি যে বৃহত্তম শহর দিচ্ছেন তা অনেকটাই ওজন ?!

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


1

কোন পদ্ধতিটি সবচেয়ে ভাল কাজ করে তা দেখতে আমি সিমুলেটেড ডেটাতে কয়েকটি পরীক্ষা চালিয়েছি। দয়া করে নীচে আমার অনুসন্ধানগুলি পড়ুন।

দুটি ভিন্ন পরিস্থিতি দেখে নেওয়া যাক - প্রথম যেখানে ডিইউআই এবং লিকার স্টোরগুলির মধ্যে সরাসরি সম্পর্ক নেই এবং দ্বিতীয় যেখানে আমাদের সরাসরি সম্পর্ক রয়েছে। তারপরে কোন পদ্ধতিটি সবচেয়ে ভাল কাজ করে তা দেখতে প্রতিটি পদ্ধতি পরীক্ষা করে দেখুন।

কেস 1: সরাসরি সম্পর্ক নয় তবে উভয়ই জনসংখ্যার সাথে সম্পর্কিত

library(rmutil)
############
## Simulating Data

set.seed(111)  
# Simulating city populations 
popln <- rpareto(n=10000,m=10000,s=1.2)

# Simulating DUI numbers
e1 <- rnorm(10000,mean=0,sd=15)
DUI = 100 + popln * 0.04 + e1
summary(DUI)
truehist(log(DUI))

# Simulating Nbr of Liquor stores
e2 <- rnorm(100,mean=0,sd=5)
Nbr_Liquor_Stores = 20 + popln * 0.009 + e2
summary(Nbr_Liquor_Stores)
truehist(log(Nbr_Liquor_Stores))

dat <- data.frame(popln,DUI,Nbr_Liquor_Stores)

এখন যেহেতু ডেটা সিম্যুলেটেড করা হয়েছে, আসুন দেখুন প্রতিটি পদ্ধতি কীভাবে ভাড়া নেওয়া হয়।

## Method 0: Simple OLS
fit0 <- lm(DUI~Nbr_Liquor_Stores,data=dat)
summary(fit0)

Coefficients:
                   Estimate Std. Error  t value Pr(>|t|)    
(Intercept)       9.4353630  0.2801544    33.68   <2e-16 ***
Nbr_Liquor_Stores 4.4444207  0.0001609 27617.49   <2e-16 ***

প্রত্যাশার মতো এনবিআর_লিকোয়ার_সত্তর অত্যন্ত তাত্পর্যপূর্ণ ores যদিও সম্পর্ক পরোক্ষ।

## Method 1: Divide Liquor Stores by population and then regress
fit1 <- lm( I(DUI/popln) ~ Nbr_Liquor_Stores, data=dat)
summary(fit1)

                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        4.981e-01  4.143e-02  12.022   <2e-16 ***
Nbr_Liquor_Stores -1.325e-05  2.380e-05  -0.557    0.578    

এনবিআর_লিকার_সত্তরের কোনও তাত্পর্য নেই। কাজ দেখে মনে হচ্ছে, তবে এখনও সিদ্ধান্তে ঝাঁপিয়ে পড়ে না।

## Method 2: Divide Liquor Stores by population and then regress
fit2 <- lm( DUI ~ Nbr_Liquor_Stores + popln, data=dat)
summary(fit2)

                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        1.003e+02  6.022e-01 166.569   <2e-16 ***
Nbr_Liquor_Stores -1.603e-02  3.042e-02  -0.527    0.598    
popln              4.014e-02  2.738e-04 146.618   <2e-16 ***

এনবিআর_লিকার_সত্তারগুলি উল্লেখযোগ্য নয়, পি-মানটিও পদ্ধতি 1-এর খুব কাছে।

## Method 3: "DUI per capita" on "liquer stores per capita" and "population size" 
fit3 <- lm( I(DUI/popln) ~ I(Nbr_Liquor_Stores/popln) + popln, data=dat)
summary(fit3)

                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                 2.841e-02  1.300e-02   2.187   0.0288 *  
I(Nbr_Liquor_Stores/popln)  4.886e+00  1.603e-02 304.867   <2e-16 ***
popln                      -8.426e-09  6.675e-08  -0.126   0.8996    

(এনবিআর_লিকর_সেটোর / পপলন) অত্যন্ত তাৎপর্যপূর্ণ! এমনটি আশা করেননি, সম্ভবত আপনার সমস্যার বিবৃতি দেওয়ার জন্য এই পদ্ধতিটি সেরা নয়।

কেস 2: জনসংখ্যা এবং এনবিআর_লিকোয়ার_স্টোর উভয়ের সাথেই সরাসরি সম্পর্ক

### Simulating Data    

set.seed(111)  
# Simulating city populations 
popln <- rpareto(n=10000,m=10000,s=1.2)

# Simulating Nbr of Liquor stores
e2 <- rnorm(100,mean=0,sd=5)
Nbr_Liquor_Stores = 20 + popln * 0.009 + e2
summary(Nbr_Liquor_Stores)
truehist(log(Nbr_Liquor_Stores))

# Simulating DUI numbers
e1 <- rnorm(10000,mean=0,sd=15)
DUI = 100 + popln * 0.021 + Nbr_Liquor_Stores * 0.01 + e1
summary(DUI)
truehist(log(DUI))

dat <- data.frame(popln,DUI,Nbr_Liquor_Stores)

আসুন এই দৃশ্যের প্রতিটি পদ্ধতির কর্মক্ষমতা দেখুন।

## Method 0: Simple OLS
fit0 <- lm(DUI~Nbr_Liquor_Stores,data=dat)
summary(fit0)

                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)       5.244e+01  1.951e-01   268.8   <2e-16 ***
Nbr_Liquor_Stores 2.343e+00  1.121e-04 20908.9   <2e-16 ***

প্রত্যাশিত, তবে কার্যকারণ সূত্রগুলি তৈরি করার দুর্দান্ত কোনও পদ্ধতি নয়।

## Method 1: Divide Liquor Stores by population and then regress
fit1 <- lm( I(DUI/popln) ~ Nbr_Liquor_Stores, data=dat)
summary(fit1)

                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        4.705e-01  4.005e-02  11.747   <2e-16 ***
Nbr_Liquor_Stores -1.294e-05  2.301e-05  -0.562    0.574    

এটি আমার জন্য একটি অবাক করার বিষয়, আমি সম্পর্কটি ক্যাপচার করার জন্য এই পদ্ধতিটি আশা করছিলাম তবে এটি তা গ্রহণ করে না। সুতরাং এই পদ্ধতিতে এই পরিস্থিতিতে ব্যর্থতা!

## Method 2: Divide Liquor Stores by population and then regress
fit2 <- lm( DUI ~ Nbr_Liquor_Stores + popln, data=dat)
summary(fit2)

                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        1.013e+02  5.945e-01 170.391   <2e-16 ***
Nbr_Liquor_Stores -5.484e-02  2.825e-02  -1.941   0.0523 .  
popln              2.158e-02  2.543e-04  84.875   <2e-16 ***

এনবিআর_লিক্যর_সত্তারগুলি উল্লেখযোগ্য, পি-মানটি প্রচুর পরিমাণে বোঝায়। আমার পক্ষে স্পষ্ট বিজয়ী।

## Method 3: "DUI per capita" on "liquer stores per capita" and "population size" 
fit3 <- lm( I(DUI/popln) ~ I(Nbr_Liquor_Stores/popln) + popln, data=dat)
summary(fit3)

                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                 6.540e-02  1.485e-02   4.405 1.07e-05 ***
I(Nbr_Liquor_Stores/popln)  3.915e+00  1.553e-02 252.063  < 2e-16 ***
popln                      -2.056e-08  7.635e-08  -0.269    0.788    

TLDR; পদ্ধতি 2 বিভিন্ন পরিস্থিতিতে বিভিন্ন ক্ষেত্রে নির্ভুল পি-মান উত্পাদন করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.