হ্যাঁ-না গণনার পরিবর্তে শতাংশে কীভাবে দ্বিপদী জিএলএমএম (গ্লোমার) প্রয়োগ করবেন?


21

আমার একটি পুনরাবৃত্ত-পরিমাপের পরীক্ষা রয়েছে যেখানে নির্ভরশীল ভেরিয়েবলটি শতাংশ, এবং আমার স্বাধীন ভেরিয়েবল হিসাবে একাধিক কারণ রয়েছে। আমি glmerআর প্যাকেজটি lme4থেকে এটি একটি লজিস্টিক রিগ্রেশন সমস্যা হিসাবে বিবেচনা করতে ব্যবহার করতে চাই (নির্দিষ্ট করে family=binomial) যেহেতু এটি সরাসরি এই সেটআপটি সামঞ্জস্য করে।

আমার ডেটা দেখতে এমন দেখাচ্ছে:

 > head(data.xvsy)
   foldnum      featureset noisered pooldur dpoolmode       auc
 1       0         mfcc-ms      nr0       1      mean 0.6760438
 2       1         mfcc-ms      nr0       1      mean 0.6739482
 3       0    melspec-maxp    nr075       1       max 0.8141421
 4       1    melspec-maxp    nr075       1       max 0.7822994
 5       0 chrmpeak-tpor1d    nr075       1       max 0.6547476
 6       1 chrmpeak-tpor1d    nr075       1       max 0.6699825

এবং এখানে যে आर কমান্ডটি আশা করছিলাম এটি উপযুক্ত হবে:

 glmer(auc~1+featureset*noisered*pooldur*dpoolmode+(1|foldnum), data.xvsy, family=binomial)

এটির সাথে সমস্যাটি হ'ল কমান্ডটি আমার নির্ভরশীল ভেরিয়েবলটি পূর্ণসংখ্যা না হওয়ার বিষয়ে অভিযোগ করে:

In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!

এবং এই (পাইলট) ডেটা বিশ্লেষণ ফলস্বরূপ অদ্ভুত উত্তর দেয়।

আমি বুঝতে পারি binomialপরিবার কেন পূর্ণসংখ্যার প্রত্যাশা করে (হ্যাঁ-না গণনা করা হয়), তবে মনে হয় সরাসরি শতাংশের ডেটা পুনরায় জমা করা ঠিক হবে। এই কিভাবে করবেন?


1
আমার কাছে এটি ঠিক আছে বলে মনে হয় না, 10 এর মধ্যে 5 টি 1000 এর মধ্যে 500 হিসাবে একই তথ্য নয় the "সাফল্য" এবং একটির গণনা। "ব্যর্থতা"।
Scortchi - পুনর্বহাল মনিকা

@ স্পোর্টি ধন্যবাদ, আমি মনে করি আপনি ঠিকই থাকতে পারেন। আমি এই প্রশ্নের অনুরূপ আমার শতাংশের (ধারাবাহিক সিদ্ধান্ত থেকে উদ্ভূত) ধ্রুবক প্রকৃতি সম্পর্কে অংশে চিন্তা করছিলাম: stats.stackexchange.com/questions/77376/… তবে আমি বিশ্বাস করি যে আমি পূর্ণসংখ্যার গণনায় অর্থবহ রূপান্তর মাধ্যমে আমার ডেটা প্রকাশ করতে পারি।
ড্যান স্টোভেল

উত্তর:


22

এর সাথে প্রতিক্রিয়ার ভেরিয়েবল হিসাবে অনুপাতের কোনও ভেক্টর ব্যবহার glmer(., family = binomial)করতে, আপনাকে weightsআর্গুমেন্টটি ব্যবহার করে প্রতিটি অনুপাতের দিকে পরিচালিত ট্রায়ালগুলির সংখ্যা নির্ধারণ করতে হবে । উদাহরণস্বরূপ, প্যাকেজ cbppথেকে ডেটা ব্যবহার করে lme4:

glmer(incidence / size ~ period + (1 | herd), weights = size,
   family = binomial, data = cbpp)

আপনি যদি পরীক্ষার মোট সংখ্যা জানেন না, তবে ত্রুটি বার্তায় নির্দেশিত হিসাবে দ্বিপদী মডেলটি উপযুক্ত নয়।


এই কাজের জন্য ওজন ব্যবহার করা হচ্ছে কিনা তা আমি বলতে পারি না। তবে আপনি অবশ্যই সূত্রের বাম পাশে দুটি কলামের ম্যাট্রিক্স (সাফল্য / ব্যর্থতা) হিসাবে ডেটা ইনপুট করতে পারেন।
ndoogan

তবে @ অদোগান, মূল প্রশ্নটি অনুপাত সম্পর্কে ছিল, সাফল্য / ব্যর্থতা নয়। এবং উপরের কোডটি কাজ করে, যেমন আমি cbppসহায়তা পৃষ্ঠা থেকে নিয়েছি ।
স্টিভ ওয়াকার

যথেষ্ট ফর্সা। যদিও, আমি সাফল্য / ব্যর্থতা ( বিভাজন হওয়ার উদ্দেশ্যে নয় ) বোঝাতে চাইছিলাম যেখানে দ্বিপদী মডেলের অনুপাত এসেছে।
ndoogan

+1 তবে পাঠকরা অতিরিক্ত বর্ধনের সাথে মোকাবিলা করার সম্ভাব্য উপায়গুলি সম্পর্কে এখানে @ বেনবোলকারের উত্তর দেখতে চান stats.stackexchange.com/questions/189115 ।
অ্যামিবা বলছে মনিকাকে

9

(0,1)


2
একটি দ্বিপদী মডেল অনুপাতের একটি মডেল। যদিও, এটি কেবল তখনই উপযুক্ত যখন আপনি পরীক্ষার সংখ্যা জানেন। যদি আপনার সমস্ত কিছু পরীক্ষার সংখ্যার কোনও ইঙ্গিত ছাড়াই শতকরা হয়, তবে আমি বিশ্বাস করি আপনি সঠিক যে বিটা রিগ্রেশন উপযুক্ত।
ndoogan

(0,1)

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