কীভাবে আর-তে বহুজাতিক লগিট মডেল সেট আপ করতে হবে এবং অনুমান করা যায়?


20

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

আমি তখন যা ভাবলাম ঠিক সেই একই মডেলটি আর-তে তৈরি করবে, নেট প্যাকেজে multinomফাংশনটি ব্যবহার করে ।

কোডটি মূলত:

fit1 <- multinom(y ~ x1+x2+...xn,data=mydata);
summary(fit1);

তবে দুজন আলাদা ফলাফল দেয় give জেএমপি সহ এআইসি 2923.21, এবং nnet::multinomএআইসির সাথে 3116.588।

সুতরাং আমার প্রথম প্রশ্নটি : একটি মডেল কি ভুল?

দ্বিতীয়টি হল, জেএমপি প্রতিটি প্যারামিটারের প্রাক্কলনের জন্য চি-স্কোয়ার্ড পি-মান দেয়, যা আমার প্রয়োজন need মাল্টিনোমের উপর চালনা সারাংশ fit1দেয় না - এটি কেবল অনুমানগুলি দেয়, এআইসি এবং ডেভিয়েশন।

আমার দ্বিতীয় প্রশ্নটি এইভাবে: ব্যবহারের সময় মডেল এবং অনুমানের জন্য পি-মানগুলি পাওয়ার কোনও উপায় আছে কি nnet::multinom?

আমি জানি যে এর জন্য ম্লগিট হ'ল আর আর প্যাকেজ এবং এটি দেখে মনে হচ্ছে এর আউটপুটটিতে পি-মানগুলি অন্তর্ভুক্ত রয়েছে; তবে আমি mlogitআমার ডেটা ব্যবহার করে চালাতে পারিনি। আমি মনে করি আমার কাছে তথ্যটি ফর্ম্যাট করা ছিল ঠিকই, তবে এটি বলেছে যে আমার একটি অবৈধ সূত্র ছিল। আমি একই সূত্রটি ব্যবহার করেছিলাম যা আমি ব্যবহার করেছিলাম multinomতবে মনে হয় এটির জন্য পাইপ ব্যবহার করে আলাদা ফর্ম্যাট প্রয়োজন এবং এটি কীভাবে কাজ করে তা আমি বুঝতে পারি না।

ধন্যবাদ।


2
হেসিয়ানকে মাল্টিনোম থেকে ফিরিয়ে আনতে আপনি Hess = TRUE আর্গুমেন্টটি সেট করতে পারেন এবং তারপরে ম্যানুয়ালি পি-মানগুলি গণনা করতে পারেন। তবে আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি মোগজিট লাইব্রেরিটি ব্যবহার করুন (যখন কোভেরিয়েটগুলি সঠিকভাবে মাপা যায় না তখন এনএটিটির কাছে রূপান্তর সংক্রান্ত সমস্যা থাকতে পারে)। ম্লগিতের জন্য উইগনেটগুলি বেশ ভাল এবং আপনার ডেটা সঠিকভাবে সেট আপ করতে আপনাকে সহায়তা করা উচিত। ভিগনেটগুলি
জেসন মরগান

উত্তর:


9

আমি নিশ্চিত যে এই পোস্টটি খুব পুরানো হওয়ায় আপনি ইতিমধ্যে আপনার সমাধানগুলি খুঁজে পেয়েছেন, তবে আমরা যারা এখনও সমাধানের সন্ধান করছি - আমি খুঁজে পেয়েছি http://youtu.be/-Cp_KP9mq94 কীভাবে নির্দেশাবলীর জন্য একটি দুর্দান্ত উত্স এমলোজিট প্যাকেজটি ব্যবহার করে আর-এ একটি বহু-জাতীয় লজিস্টিক রিগ্রেশন মডেল চালান। আপনি যদি একনোমেট্রিক্স একাডেমির ওয়েবসাইটে যান তবে তার কাছে সমস্ত স্ক্রিপ্ট, ডেটা আর এবং এসএএস এবং স্টাটা আমার মনে হয় বা এসপিএস এর মধ্যে একটি রয়েছে।

আপনার ডেটাটিকে "লম্বা" ফর্ম্যাট বনাম "প্রশস্ত" ফর্ম্যাটে রূপান্তরিত করার বিষয়ে কীভাবে এবং কেন এবং কীভাবে ব্যাখ্যা করে। সম্ভবত আপনার বিস্তৃত বিন্যাস রয়েছে, যার রূপান্তর প্রয়োজন।

https://sites.google.com/site/econometricsacademy/econometrics-models/multinomial-probit-and-logit-models


3

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

যদি অনুমানযুক্ত সহগ এবং মান ত্রুটিগুলি একই হয় তবে আপনি ভাল। যদি সহগুণগুলি একরকম না হয় তবে ভুলে যাবেন না যে জেএমপি সহগের জন্য গণনা করার জন্য একটি ভিন্ন বেসলাইন ফলাফল বেছে নিতে পারে। উদাহরণস্বরূপ, multinom()থেকে বিভিন্ন পছন্দ করে তোলে mlogit()

মাল্টিনম () এর সংক্ষিপ্তসার () ফলাফল থেকে পি-মান পাওয়া খুব সহজ। আমি আপনার মডেলগুলি পুনরুত্পাদন করতে পারি না, সুতরাং এখানে মাল্টিনোমে সহায়তা পৃষ্ঠা থেকে উদাহরণ ():

library("nnet")
data("Fishing", package = "mlogit")
fishing.mu <- multinom(mode ~ income, data = Fishing)
sum.fishing <- summary(fishing.mu) # gives a table of outcomes by covariates for coef and SE
str(sum.fishing)
# now get the p values by first getting the t values
pt(abs(sum.fishing$coefficients / sum.fishing$standard.errors),
  df=nrow(Fishing)-6,lower=FALSE)

আমি সম্মত হই যে এমলোজিট প্যাকেজটি বের করা কিছুটা চ্যালেঞ্জ! ভিগনেটগুলি মনোযোগ সহকারে পড়ুন। তারা সাহায্য করে।


আমি কীভাবে Fishingমাল্টিনোমের সাথে ডেটাসেট থেকে অন্যান্য (জেনেরিক) ভেরিয়েবলগুলি ব্যবহার করব ?
গ্রেগম্যাকফার্লেনে

@gmacfarlane আপনি যে মুলিনোমে সূত্রে চান সেটি পরিবর্তন করুন (মোড ~ ইনকাম + প্রাইস.বিচ, ...
এতিরেটু

@atiretoo আমি আমার pvals পেতে একটি উপায় খুঁজছিলাম তাই ধন্যবাদ! তবে কেবল স্পষ্টতার জন্য - 6 ডিএফ দিয়ে আসে কোথা থেকে? আমার ডিএফ পেতে আমার কী গণনা করা উচিত? আমার মডেলটিতে আমার একটি ধারাবাহিক পরিবর্তনশীল এবং একটি শ্রেণিবদ্ধ ভেরিয়েবল (4 বিভাগ) রয়েছে। সুতরাং 5 এর একটি df হবে? এছাড়াও, ফিশিং কি পুরো ডেটা সেট করা আছে? যা স্বাধীনতার নমুনা আকার-ডিগ্রি।
কেরি

@atiretoo আমি ক্ষমাপ্রার্থী, আমি সবেমাত্র জানতে পেরেছি যে লগইট রিগ্রেশন চালানোর জন্য যদি প্যাকেজ এনট ব্যবহার করে - এটি আসলে কার্যকর ডিএফ গণনা করে এবং এটি এনট অবজেক্টের মধ্যে সংরক্ষণ করা হয়। সুতরাং, আমি মডেল থেকে df নিষ্কাশন করতে এবং এটি ব্যবহার করতে পারেন। Mlogit অবজেক্টে একই তথ্য থাকবে কিনা তা আমি পরীক্ষা করে দেখিনি।
কেরি

@ কেরি খুশী হলেন যে আপনি এটি পেয়েছেন।
এটিরেটু

1

আপনি গ্ল্যামনেট প্যাকেজ ব্যবহার করে একটি বহু-জাতীয় লজিট চালানোর চেষ্টা করতে পারেন। আমি কীভাবে এটি সমস্ত ভেরিয়েবল রাখতে বাধ্য করব তা নিশ্চিত নই, তবে আমি নিশ্চিত যে এটি সম্ভব।

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