গ্লুসের গাউসিয়ান পরিবারের জন্য এলএম এবং গ্ল্যামের মধ্যে কোনও পার্থক্য আছে কি?


45

বিশেষত, আমি জানতে চাই যে lm(y ~ x1 + x2)এবং এর মধ্যে কোনও পার্থক্য রয়েছে কিনা glm(y ~ x1 + x2, family=gaussian)। আমি মনে করি গ্ল্যামের এই বিশেষ ক্ষেত্রেটি এলএম এর সমান। আমি কি ভূল?


10
হ্যা এবং না. একটি পরিসংখ্যান মডেল হিসাবে, না। আর তে লাগানো বস্তু হিসাবে, হ্যাঁ; বিভিন্ন প্রত্যাবর্তিত বস্তু, বিভিন্ন অ্যালগরিদম ব্যবহৃত।
মনিকা পুনরায় ইনস্টল করুন - জি সিম্পসন

3
আমার কাছে মনে হয় এখানে একটি পরিসংখ্যানমূলক প্রশ্ন রয়েছে, পাশাপাশি একটি কোডিংও রয়েছে।
সিলভারফিশ

উত্তর:


48

প্রশ্নের মূল অংশে (যেমন lm(y ~ x1 + x2)বনাম glm(y ~ x1 + x2, family=gaussian)) বর্ণিত মডেলের নির্দিষ্ট ফর্মের জন্য , রিগ্রেশন এবং জিএলএম একই মডেল, শিরোনাম প্রশ্নটি আরও কিছু সাধারণ জিজ্ঞাসা করে:

গ্লুসের গাউসিয়ান পরিবারের জন্য এলএম এবং গ্ল্যামের মধ্যে কোনও পার্থক্য আছে কি?

যার উত্তর "হ্যাঁ!"!

এগুলি পৃথক হওয়ার কারণ হ'ল আপনি জিএলএম-তে একটি লিঙ্ক ফাংশনও নির্দিষ্ট করতে পারেন । এটি আপনাকে (বা বরং এর শর্তসাপেক্ষ মানে) এবং ভেরিয়েবলের মধ্যে অরৈখিক সম্পর্কের বিশেষ ফর্মগুলিতে ফিট করতে দেয় ; আপনি যখন এটিও এটি করতে পারেন তবে মানগুলি শুরু করার দরকার নেই, কখনও কখনও রূপান্তরটি আরও ভাল হয় (সিনট্যাক্সটিও কিছুটা সহজ)।yxnls

তুলনা করুন, উদাহরণস্বরূপ, এই মডেলগুলি (আপনার কাছে আর রয়েছে তাই আমি ধরে নিই যে আপনি নিজেরাই এটি চালাতে পারেন):

x1=c(56.1, 26.8, 23.9, 46.8, 34.8, 42.1, 22.9, 55.5, 56.1, 46.9, 26.7, 33.9, 
37.0, 57.6, 27.2, 25.7, 37.0, 44.4, 44.7, 67.2, 48.7, 20.4, 45.2, 22.4, 23.2, 
39.9, 51.3, 24.1, 56.3, 58.9, 62.2, 37.7, 36.0, 63.9, 62.5, 44.1, 46.9, 45.4, 
23.7, 36.5, 56.1, 69.6, 40.3, 26.2, 67.1, 33.8, 29.9, 25.7, 40.0, 27.5)

x2=c(12.29, 11.42, 13.59, 8.64, 12.77, 9.9, 13.2, 7.34, 10.67, 18.8, 9.84, 16.72, 
10.32, 13.67, 7.65, 9.44, 14.52, 8.24, 14.14, 17.2, 16.21, 6.01, 14.23, 15.63, 
10.83, 13.39, 10.5, 10.01, 13.56, 11.26, 4.8, 9.59, 11.87, 11, 12.02, 10.9, 9.5, 
10.63, 19.03, 16.71, 15.11, 7.22, 12.6, 15.35, 8.77, 9.81, 9.49, 15.82, 10.94, 6.53)

y = c(1.54, 0.81, 1.39, 1.09, 1.3, 1.16, 0.95, 1.29, 1.35, 1.86, 1.1, 0.96,
1.03, 1.8, 0.7, 0.88, 1.24, 0.94, 1.41, 2.13, 1.63, 0.78, 1.55, 1.5, 0.96, 
1.21, 1.4, 0.66, 1.55, 1.37, 1.19, 0.88, 0.97, 1.56, 1.51, 1.09, 1.23, 1.2, 
1.62, 1.52, 1.64, 1.77, 0.97, 1.12, 1.48, 0.83, 1.06, 1.1, 1.21, 0.75)

lm(y ~ x1 + x2)
glm(y ~ x1 + x2, family=gaussian) 
glm(y ~ x1 + x2, family=gaussian(link="log")) 
nls(y ~ exp(b0+b1*x1+b2*x2), start=list(b0=-1,b1=0.01,b2=0.1))

মনে রাখবেন যে প্রথম জুটি একই মডেল ( )) এবং দ্বিতীয় জুটি একই মডেল ( এবং প্রতিটি জুটির মধ্যে মূলত একই areyiN(β0+β1x1i+β2x2i,σ2)yiN(exp(β0+β1x1i+β2x2i),σ2)

সুতরাং - শিরোনাম প্রশ্নের সাথে সম্পর্কিত - আপনি রিগ্রেশনের চেয়ে GLM সহ বেশ কয়েকটি বিভিন্ন গাউসীয় মডেল ফিট করতে পারেন।


4
+1 টি। জিনিসের একটি গুণগত দিক আমি এও ভাবো যে একটি জিএলএম অ্যালগরিদম কিছু আইআরডাব্লুএলএস রূপ ব্যবহার করবে (বেশিরভাগ ক্ষেত্রে) যখন কোনও এলএম কিছু ক্লোজড-ফর্ম সমাধান বৈকল্পিকের উপর রিলে করে দেবে।
usεr11852

@ usεr11852 - আমি ভাবতাম এটি EM ছিল তবে এই ক্ষেত্রে তারা একই জিনিস হতে পারে।
এনগ্রিস্টুডেন্ট - মনিকা

1
এটি "আউটলিয়ার্স" দেখার সাড়া দেয় না (উপরে বর্ণিত সম্ভাবনার বাইরে); পুনরায় ওজন হ'ল ভেরিয়েন্স ফাংশনের প্রভাব এবং স্থানীয় রৈখিক সমীকরণে স্থানান্তরিত হওয়ার কারণে।
Glen_b

1
@ ক্রিসচিয়াসন: গ্লেন_ বি এর মন্তব্যে +1 যেমনটি উল্লেখ করা হয়েছে এটি আউটরিয়ারদের উপস্থিতিতে অ্যালগরিদমের দৃust়তার সাথে সম্পর্কিত নয়। আপনি বিভিন্ন পরিবারকে ঘুরে দেখতে চাইতে পারেন (যেমন, উপযুক্তভাবে স্কেল করা ডিসিস্ট্রিবিউশনস, বা হুবারের ক্ষতি; এর বিষয়ে আরও চেক করুন) - দুঃখিত মাত্র কয়েকদিনের ছুটির পরে অনলাইনে পেয়েছেন ..tMASS::rlm
ইউএসআর 11852 বলেছেন

1
আপনি যে ধরণের দৃust়তা অর্জন করতে পারেন বলে আমি মনে করি আপনি বেশ কয়েকটি উপায়ে চান। তবে গ্ল্যামস এবং রিগ্রেশন ধরণের মডেলগুলির সাহায্যে আপনাকে কেবল ওয়াই-দিকের
বাইরের

14

সংক্ষিপ্ত উত্তর, তারা ঠিক একই:

# Simulate data:
set.seed(42)
n <- 1000

x1 <- rnorm(n, mean = 150, sd = 3)
x2 <- rnorm(n, mean = 100, sd = 2)
u  <- rnorm(n)
y  <- 5 + 2*x1 + 3*x2 + u

# Estimate with OLS:
reg1 <- lm(y ~ x1 + x2)
# Estimate with GLS
reg2 <- glm(y ~ x1 + x2, family=gaussian)

# Compare:
require(texreg)
screenreg(l = list(reg1, reg2))

=========================================
                Model 1      Model 2     
-----------------------------------------
(Intercept)        6.37 **       6.37 ** 
                  (2.20)        (2.20)   
x1                 1.99 ***      1.99 ***
                  (0.01)        (0.01)   
x2                 3.00 ***      3.00 ***
                  (0.02)        (0.02)   
-----------------------------------------
R^2                0.99                  
Adj. R^2           0.99                  
Num. obs.          1000          1000       
RMSE               1.00                  
AIC                           2837.66    
BIC                           2857.29    
Log Likelihood               -1414.83    
Deviance                       991.82    
=========================================
*** p < 0.001, ** p < 0.01, * p < 0.05

দীর্ঘ উত্তর; এমএমই দ্বারা গ্ল্যাম ফাংশনটি মডেলটির সাথে খাপ খায়, তবে লিংক ফাংশন সম্পর্কে আপনি যে অনুমান করেছিলেন (এই ক্ষেত্রে সাধারণভাবে), আপনি ওএলএস অনুমানের সাথে শেষ করেন।


+1, শেষ বাক্যে একটি টাইপো। সাধারণ অনুমানটি ত্রুটি বিতরণ সম্পর্কে, লিঙ্ক ফাংশন সম্পর্কে নয়। আপনার উদাহরণে, ডিফল্ট লিঙ্ক ফাংশনটি "পরিচয়"। জন্য আরো একটি সম্পূর্ণ ফর্ম glmহয় glm(y ~ x1 + x2, family = gaussian(link = "identity"))
পল

14

থেকে @ Repmat এর উত্তর, মডেল সারসংক্ষেপ একই আছে, কিন্তু সি আই রিগ্রেশন কোফিসিয়েন্টস এর থেকে confintমধ্যবর্তী কিছুটা ভিন্ন হয় lmএবং glm

> confint(reg1, level=0.95)
               2.5 %    97.5 %
(Intercept) 2.474742 11.526174
x1          1.971466  2.014002
x2          2.958422  3.023291
> confint(reg2, level=0.95)
Waiting for profiling to be done...
               2.5 %    97.5 %
(Intercept) 2.480236 11.520680
x1          1.971492  2.013976
x2          2.958461  3.023251

tlm বিতরণ glmঅন্তরালে নির্মাণের সময় ব্যবহৃত হয় যখন সাধারণ বিতরণ ব্যবহৃত হয় ।

> beta <- summary(reg1)$coefficients[, 1]
    > beta_se <- summary(reg1)$coefficients[, 2]
> cbind(`2.5%` = beta - qt(0.975, n - 3) * beta_se, 
        `97.5%` = beta + qt(0.975, n - 3) * beta_se) #t
                2.5%     97.5%
(Intercept) 2.474742 11.526174
x1          1.971466  2.014002
x2          2.958422  3.023291
> cbind(`2.5%` = beta - qnorm(0.975)*beta_se, 
        `97.5%` = beta + qnorm(0.975)*beta_se) #normal
                2.5%     97.5%
(Intercept) 2.480236 11.520680
x1          1.971492  2.013976
x2          2.958461  3.023251
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.