আমার কাছে ডেটা টেবিল টি 1 রয়েছে, এতে প্রায় এক হাজার ভেরিয়েবল (ভি 1) এবং প্রায় 200 মিলিয়ন ডেটা পয়েন্ট রয়েছে। ডেটা অপ্রয়োজনীয় এবং বেশিরভাগ এন্ট্রি এনএ। প্রতিটি ডেটাপয়েন্টগুলিতে অন্যের থেকে আলাদা করার জন্য একটি অনন্য আইডি এবং তারিখের জুড়ি থাকে।
আমার কাছে অন্য একটি টেবিল টি 2 রয়েছে, এতে ভেরিয়েবলগুলির একটি পৃথক সেট (ভি 2) রয়েছে। এই টেবিলটিতে আইডি এবং তারিখের জুটিও রয়েছে যা টি 2-তে প্রবেশ অনন্যভাবে সনাক্ত করে।
আমরা সন্দেহ করি যে টি 1-তে থাকা ডেটা টি 2-এর ভেরিয়েবলের মানগুলি পূর্বাভাস দেওয়ার জন্য ব্যবহার করা যেতে পারে।
এটি প্রমাণ করার জন্য, আমি আর-তে 'গ্ল্যাম' মডেল প্রয়োগ করে ভেবেছিলাম যে আমরা টি 2-তে কিছু পরিবর্তনশীল খুঁজে পেতে পারি যা টি 1 এর ভেরিয়েবলের উপর নির্ভরশীল।
টি 2 এর প্রতিটি ভেরিয়েবলের জন্য, আমি টি 1 তে একই আইডি এবং তারিখের জুটি থাকা সমস্ত ডেটা বের করতে শুরু করেছি যার ফলস্বরূপ কিছু পরীক্ষার ভেরিয়েবলের জন্য অনেক ছোট ~ 50K ডেটা পয়েন্ট রয়েছে।
গ্ল্যাম প্রয়োগের সাথে আমি এখন যে সমস্যার মুখোমুখি হচ্ছি সেগুলি নিম্নরূপ।
কিছু ক্ষেত্রে, এটি আমাকে ত্রুটি দেখায় 'ফিট না পাওয়া' এবং সতর্কতা 'গ্ল্যাম.ফিট: অ্যালগরিদম রূপান্তরিত হয়নি'। আমি নিশ্চিত না কেন এটি দেখানো হয়েছে?
কীভাবে এনএদের গ্ল্যামে চিকিত্সা করা হয়? এটি প্রথমে 'এনএ' জড়িত সমস্ত রেকর্ড সরিয়ে এবং তারপরে ফিটিং সম্পাদন করে?
প্রথমে সমস্ত এনএগুলি সরিয়ে ফেলা এবং তারপর 'গ্ল্যাম' কল করা কি ভাল কৌশল strategy আমি আশঙ্কা করি যে এটি ডেটাপয়েন্টগুলিকে উল্লেখযোগ্যভাবে হ্রাস করতে পারে কারণ তাদের বেশিরভাগ এনএ রয়েছে।
কোন পদ্ধতিটি সহগের গণনা করতে ব্যবহৃত হয়। আউটপুট কীভাবে গণনা করা হয় তা আলোচনা করে এমন কোনও ওয়েবসাইট বা কাগজ বা বই আমি খুঁজে পেলাম না।
আমি 'এনএ' এর সাথে বা ছাড়াই গ্ল্যাম পরীক্ষা করেছি এবং পৃথক উত্তর পেয়েছি যা ডেটা ফিট করার সময় এনএ বিবেচিত হয়:
উদাহরণ 1:
> tmpData
x1 x2 x3 Y
1 1 1 1 3
2 1 0 4 5
3 1 2 3 6
4 0 3 1 4
Call: glm(formula = as.formula(paste(dep, " ~ ", paste(xn, collapse = "+"))),
na.action = na.exclude)
Coefficients:
(Intercept) as.numeric(unlist(tmpData["x1"])) as.numeric(unlist(tmpData["x2"]))
5.551e-16 1.000e+00 1.000e+00
as.numeric(unlist(tmpData["x3"]))
1.000e+00
Degrees of Freedom: 3 Total (i.e. Null); 0 Residual
Null Deviance: 5
Residual Deviance: 9.861e-31 AIC: -260.6
উদাহরণ 2:
'x1' 'x2' 'x3' 'Y'
100000 1 NA 2
1 1 1 3
1 NA -1124 2
1 0 4 5
1 2 3 6
0 3 1 4
Coefficients:
(Intercept) as.numeric(unlist(tmpData["x1"])) as.numeric(unlist(tmpData["x2"])) as.numeric(unlist(tmpData["x3"]))
-2.3749044 -0.0000625 0.6249899 1.8749937
Degrees of Freedom: 5 Total (i.e. Null); 2 Residual
Null Deviance: 13.33
Residual Deviance: 1.875 AIC: 20.05