রৈখিক সমীকরণে গুণক এবং ইন্টারেক্টিভ পদগুলির জন্য সহগ পদটি কীভাবে প্রয়োগ করবেন?


9

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

ধারণা: স্পষ্টতই, ক্রমাগত পরিবর্তনশীল 'x' এর সহগটি ফর্মটিতে প্রয়োগ করা হয় y = coefx(varx) + interceptতবে যদি ফ্যাক্টর অ-সংখ্যাযুক্ত হয় তবে কীভাবে এটি একটি ফ্যাক্টর z এর জন্য কাজ করবে?y = coefx(varx) + coefz(factorz???) + intercept

সুনির্দিষ্ট: আমি আর-তে একটি মডেল লাগিয়েছি lm(log(c) ~ log(d) + h + a + f + h:a)যেখানে hএবং fপৃথক, অ-সংখ্যাগত কারণ। সহগগুলি হ'ল:

Coefficients:
              Estimate 
(Intercept)  -0.679695 
log(d)        1.791294 
h1            0.870735  
h2           -0.447570  
h3            0.542033   
a             0.037362  
f1           -0.588362  
f2            0.816825 
f3            0.534440
h1:a         -0.085658
h2:a         -0.034970 
h3:a         -0.040637

ভবিষ্যদ্বাণীপূর্ণ সমীকরণ তৈরি করতে আমি এগুলি কীভাবে ব্যবহার করব:

log(c) =  1.791294(log(d)) + 0.037362(a) + h??? + f???? + h:a???? + -0.679695

নাকি আমি এটা ভুল করছি?

আমি মনে করি যে ধারণাটি যদি বিষয়শ্রেণীতে আসে h1এবং f2সমীকরণ হয়:

log(c) =  1.791294(log(d)) + 0.037362(a) +  0.870735  + 0.816825  + h:a???? + -0.679695

তবে h:aইন্টারেক্টিভ শব্দটি কীভাবে বিশ্লেষণ করা যায় সে সম্পর্কে আমি সত্যিই পরিষ্কার নই । আমাকে সহজ করার জন্য ধন্যবাদ।

উত্তর:


14

এটি আর সম্পর্কিত কোনও সমস্যা নয় R আর আর একটি সহগের একটি প্রচলিত প্রদর্শন ব্যবহার করে।

আপনি যখন এই ধরনের রিগ্রেশন আউটপুট পড়েন (একটি কাগজ, পাঠ্যপুস্তক, বা পরিসংখ্যানগত সফ্টওয়্যার থেকে), আপনাকে জানতে হবে কোন পরিবর্তনশীলগুলি "ধারাবাহিক" এবং কোনটি "শ্রেণিবদ্ধ" হয়:

  • "অবিচ্ছিন্ন "গুলি স্পষ্টরূপে সংখ্যাসূচক হয় এবং তাদের সংখ্যাসূচক মানগুলি রিগ্রেশন ফিটিং-তে যেমন ব্যবহৃত হয়েছিল।

  • "শ্রেণীবদ্ধ" ভেরিয়েবলগুলি যে কোনও ধরণের হতে পারে, সংখ্যাসূচকগুলি সহ ! কীগুলি এগুলি শ্রেণিবদ্ধ করে তা হ'ল সফ্টওয়্যারটি তাদের "ফ্যাক্টর" হিসাবে বিবেচনা করে: অর্থাত, প্রতিটি স্বতন্ত্র মান যা পৃথক কোনও কিছুর সূচক হিসাবে বিবেচিত হয় ।

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

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

প্রশ্নে আমাদের তা বলা হয় hএবং fশ্রেণিবদ্ধ ("বিযুক্ত") মান হয়। ডিফল্ট হিসাবে, log(d)এবং aঅবিচ্ছিন্ন হয়। এটাই আমাদের জানা দরকার। মডেলটি হ'ল

y=0.679695+1.791294 log(d)+0.870735 if h=h10.447570 if h=h2+0.542033 if h=h3+0.037362 a0.588362 if f=f1+0.816825 if f=f2+0.534440 if f=f30.085658 a if h=h10.034970 a if h=h20.040637 a if h=h3

এখানে প্রয়োগ করা বিধিগুলি হ'ল:

  • "ইন্টারসেপ্ট" শব্দটি যদি এটি উপস্থিত হয় তবে এটি একটি অ্যাডিটিভ ধ্রুবক (প্রথম লাইন)।

  • ক্রমাগত ভেরিয়েবল, তাদের কোফিসিয়েন্টস দ্বারা গুন করা হয় "পারস্পরিক ক্রিয়ার" এমনকি মত h1:a, h2:aএবং h3:aশর্তাবলী। (এটি মূল প্রশ্নের উত্তর দেয়))

  • যে কোনও শ্রেণিবদ্ধ ভেরিয়েবল (বা ফ্যাক্টর) কেবলমাত্র সেই ক্ষেত্রেই অন্তর্ভুক্ত থাকে যেখানে সেই ফ্যাক্টরের মান উপস্থিত হয়।

উদাহরণস্বরূপ, ধরুন যে , , , এবং । এই মডেল লাগানো মান হয়log(d)=2h=h3a=1f=f2

y^=0.6797+1.7913×(2)+0.5420+0.0374×(1)+0.81680.0406×(1).

লক্ষ্য করুন কিভাবে মডেল কোফিসিয়েন্টস অধিকাংশ কেবল হিসাব উপস্থিত হয় না কারণ hনিতে পারেন ঠিক তিন মান এক , , এবং সেইজন্য শুধুমাত্র তিনটি কোফিসিয়েন্টস এক ক্ষেত্রে প্রযোজ্য এবং শুধুমাত্র তিন কোফিসিয়েন্টস এক হবে সংখ্যাবৃদ্ধি মধ্যে মিথষ্ক্রিয়া; একইভাবে, কোনও একটি বিশেষ ক্ষেত্রে কেবলমাত্র একটি গুণফল প্রযোজ্য ।h1h2h3(0.870735,0.447570,0.542033)h(0.085658,0.034970,0.040637)ah:af


8

এটি কেবল একটি মন্তব্য তবে এটি আমাদের সীমাবদ্ধ সম্পাদনা বাক্সগুলির মতো ফিট করবে না।

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

প্রথমে কিছু তথ্য অনুকরণ করি,

n <- 200
x1 <- runif(n)
x2 <- runif(n)
x3 <- runif(n)
g1 <- gl(2, 100, n, labels=letters[1:2])
g2 <- cut2(runif(n), g=4)
y <- x1 + x2 + rnorm(200)

তারপরে একটি রিগ্রেশন মডেল ফিট করুন,

f <- ols(y ~ x1 + x2 + x3 + g1 + g2 + x1:g1)

যা নিম্নলিখিত ফলাফল দেয়:

Linear Regression Model

ols(formula = y ~ x1 + x2 + x3 + g1 + g2 + x1:g1)

                Model Likelihood     Discrimination    
                   Ratio Test           Indexes        
Obs      200    LR chi2     35.22    R2       0.161    
sigma 0.9887    d.f.            8    R2 adj   0.126    
d.f.     191    Pr(> chi2) 0.0000    g        0.487    

Residuals

    Min      1Q  Median      3Q     Max 
-3.1642 -0.7109  0.1015  0.7363  2.7342 

                   Coef    S.E.   t     Pr(>|t|)
Intercept           0.0540 0.2932  0.18 0.8541  
x1                  1.1414 0.3642  3.13 0.0020  
x2                  0.8546 0.2331  3.67 0.0003  
x3                 -0.0048 0.2472 -0.02 0.9844  
g1=b                0.2099 0.2895  0.73 0.4692  
g2=[0.23278,0.553)  0.0609 0.1988  0.31 0.7598  
g2=[0.55315,0.777) -0.2615 0.1987 -1.32 0.1896  
g2=[0.77742,0.985] -0.2107 0.1986 -1.06 0.2901  
x1 * g1=b          -0.2354 0.5020 -0.47 0.6396  

তারপরে, সম্পর্কিত রিগ্রেশন সমীকরণ মুদ্রণ করতে, কেবল জেনেরিক latexফাংশনটি ব্যবহার করুন :

latex(f)

ডিভিআইকে পিএনজি রূপান্তর করার পরে, আপনার এমন কিছু পাওয়া উচিত

এখানে চিত্র বর্ণনা লিখুন

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


1
+1 এটি একটি দুর্দান্ত ক্ষমতা। যদিও terms এর মতো পদগুলির বাক্য সম্ভবত বিভ্রান্তিকর: এই অভিব্যক্তি এবং শ্রেণিবদ্ধ পরিবর্তনশীলগুলির মধ্যে কোনও স্পষ্ট সম্পর্ক নেই , বা এটি পুরোপুরিও স্পষ্ট নয় যে সত্যিই এমন একটি সূচককে বোঝায় যে চেয়ে সংখ্যাটির চেয়ে ! (এখানে, সত্যিই "খ" অর্থ - চিঠি - যা যথেষ্ট সতর্কতা হতে পারে, কিন্তু যখন বিভাগ যেমন সংখ্যা, দ্বারা কোডেড হয় এবং , সতর্ক ...)+0.2099013{b}g1{b}g1=bbb01
whuber

1
@ ভুবার উপরের চিত্রটি ক্রপ করা হয়েছে তবে এমন একটি পাদটীকা স্মরণ করিয়ে দিচ্ছে যে "{সি} = 1 বিষয়টি গ্রুপ সিতে থাকলে অন্যথায় 0" ( cএই বিশেষ ক্ষেত্রে পছন্দটি বিভ্রান্তিকর হতে পারে, কারণ আমি দুটি বর্ণ বেছে নিয়েছি জি 1 স্তর উপস্থাপন করে তবে সাধারণত এটি বেশ স্বজ্ঞাত - এবং এটি খাঁটি পাঠ্য যাতে আমরা পরে উত্স ফাইলটি সম্পাদনা করতে পারি)। সংযুক্তি হ'ল আরেকটি সংক্ষিপ্তসার যেখানে আমি পরিবর্তন g1করেছি যাতে এটি এখন একটি চার-স্তরের ফ্যাক্টর। তবুও, 0/1 লেবেলগুলির সাথে এটি আরও বিভ্রান্তিকর হতে পারে ।
chl

5

আপনি নিজের "বৈসাদৃশ্যগুলি" ডিফল্ট options()এবং তা অনুসন্ধান করে দেখতে পারেন:

$contrasts
        unordered           ordered 
"contr.treatment"      "contr.poly" 

যদি আপনার আনর্ডারড বিপরীতগুলি সেট করা থাকে contr.treatment(যেমন সেগুলি হওয়া উচিত যেমন আপনি তাদের পরিবর্তন না করেন) তবে আপনার প্রতিটি কারণের প্রথম স্তরটি বেসলাইন হিসাবে সেট করা হবে। আপনাকে কেবল ফ্যাক্টরের অন্যান্য স্তরের জন্য তৈরি ডামি ভেরিয়েবলের সামনে সহগের জন্য অনুমান দেওয়া হবে । কার্যত, এই সহগগুলি "মডেলের অন্যান্য সমস্ত কিছুর জন্য নিয়ন্ত্রণের সাথে ফ্যাক্টরের বেসলাইন স্তরের তুলনায় ফ্যাক্টরের এই স্তরের প্রতিক্রিয়ার পরিবর্তনশীল গড়ে কতটা পৃথক হবে"।

আমি তোমার আউটপুট থেকে মনন am কোন একটি হয় h0এবং f0যা H ও চ জন্য বেসলাইন স্তর আছে (যতক্ষণ না আপনি বৈপরীত্য জন্য একটি অ-ডিফল্ট বিকল্প, যে ক্ষেত্রে বেশ কিছু সম্ভাবনার আছে; চেষ্টা ?contr.treatmentকিছু সাহায্য জন্য)।

মিথস্ক্রিয়ার সাথে এটি একই রকম। যদি আমার পূর্ববর্তী অনুচ্ছেদটি সঠিক হয় তবে এর জন্য দেওয়া অনুমানটি aসত্যই aকখন slাল হবে h=h0। সংক্ষিপ্তসারগুলির ক্ষেত্রে সংক্ষিপ্তসারে প্রদত্ত অনুমানগুলি বিভিন্ন স্তরের জন্য কত opeাল পরিবর্তন করে h

সুতরাং আপনার উদাহরণে যেখানে h = h1 এবং f = f2 রয়েছে সেখানে চেষ্টা করুন:

log(c) =  1.791294(log(d)) + (0.037362 - 0.085658) (a) +  0.870735  + 0.816825  -0.679695

ওহ, এবং আপনি predict()প্রচুর দরকারী জিনিসগুলি ব্যবহার করতেও পারেন ... যদি আপনি আসলে কোনও কিছুর পূর্বাভাস দিতে চান (কোনও প্রতিবেদনের সমীকরণটি লেখার চেয়ে)। তৈরির মাধ্যমে কোনও বস্তুর ?predict.lmকী কী predict()তা দেখার চেষ্টা করুন lm


+1 (আসলে, আমি এটিকে এক মাস আগে উত্সাহিত করেছি এবং এখনই এটি পুনরায় পুনরায় পড়া হবে) আমার কাছে ঘটে যায় যে আপনি বিপরীতে প্রকারটি পরীক্ষা করে দেখার পরামর্শ দিচ্ছেন options()। আপনার যা প্রয়োজন তা খুঁজতে আপনাকে অনেকগুলি আবর্জনার মধ্য দিয়ে স্ক্রোল করতে হবে। আপনি চেষ্টা options()$contrastsকরতে পারেন, যা কেবলমাত্র যা চান তা আউটপুট করে।
গুং - মনিকা পুনরায়

ভাল পরামর্শ, আমার মস্তিষ্ক অবশ্যই ঘুমিয়ে ছিল।
পিটার এলিস

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