কুরস্কাল-ওয়ালিস অন্তর্নির্মিত আর ফাংশন এবং ম্যানুয়াল গণনার মধ্যে সামান্য অসঙ্গতি


9

আমি নিম্নলিখিত দ্বারা বিভ্রান্ত, এবং আমি অন্য কোথাও উত্তর খনন করতে সক্ষম হইনি।

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

উদাহরণস্বরূপ, আমি একটি অনুশীলনে হস্তান্তরিত নিম্নলিখিত ডেটা দেখছি

activity <- c(2, 4, 3, 2, 3, 3, 4, 0, 4, 3, 4, 0, 0, 1, 3, 1, 2, 0, 3, 1, 0, 3, 4, 0, 1, 2, 2, 2, 3, 2) 
group <- c(rep("A", 11), rep("B", 10), rep("C", 9))
group <- factor(group)
data.raw <- data.frame(activity, group)

এবং আমি দলগতভাবে ক্রিয়াকলাপ বিশ্লেষণ করতে চাই। প্রথমে আমি অন্তর্নির্মিত আর ফাংশনটি ব্যবহার করে একটি ক্রুসকল-ওয়ালিস পরীক্ষা চালাচ্ছি

kruskal.test(activity ~ group, data = data.raw)

যা ।H=8.9056

ডাবল-চেক করতে, আমি নীচে (কোনও সন্দেহহীন নিঃস্ব) কোড সহ আর-তে 'হাত দ্বারা' করার চেষ্টা করছি

rank <- rank(activity)
data.rank <- data.frame(rank, group)
rank.sum <- aggregate(rank ~ group, data = data.rank, sum)

x <- rank.sum[1,2]^2 / 11 + rank.sum[2,2]^2 / 10 + rank.sum[3,2]^2 / 9
H <- (12 / (length(activity) * (length(activity) + 1))) * x - 3 * (length(activity) + 1)
H

যা নিম্নলিখিত সূত্র প্রতিফলিত বোঝানো হয়:

H=12N(N+1)i=1g(Ri2ni)3(N+1)

কোথায় N পর্যবেক্ষণ মোট সংখ্যা, g দলের সংখ্যা, ni মধ্যে পর্যবেক্ষণের সংখ্যা i তম গ্রুপ, এবং Ri পদমর্যাদার এর সমষ্টি i তম গ্রুপ।

এবং এখন আমি , যা আমার বিভ্রান্তি যুক্ত করে, এটিও প্রশ্নের উত্তর অনুশীলনের জন্য দেওয়া উত্তর। আমি এটি বেশ কয়েকটি বিভিন্ন ডেটা সেটের জন্য চেষ্টা করেছি এবং আমি অন্তর্নির্মিত ফাংশনটি ব্যবহার করে জন্য কিছুটা উচ্চতর মান পেতে চাই ।H=8.499H

আমি কী ভুল করছি বা বুঝতে ব্যর্থ হলাম তা জানার চেষ্টা করেছি, কিন্তু কোন ফলসই হয়নি। কেউ কী আমাকে বুঝতে সাহায্য করতে পারে যে ইনবিল্ট kruskal.testফাংশনটি আমি বানানগুলির মাধ্যমে আমি যে জিনিসটি পাই তার থেকে আলাদা মান কেন দেয় ?

উত্তর:


12

kruskal.testএই উইকিপিডিয়া নিবন্ধে বর্ণিত হিসাবে সম্পর্কের জন্য একটি সংশোধন প্রয়োগ করে (পয়েন্ট 4):

পূর্ববর্তী বিন্দুতে বর্ণিত শর্ট-কাট সূত্রটি ব্যবহার করে সম্পর্কের জন্য একটি সংশোধন H- কে can দ্বারা ভাগ করে তৈরি করা যেতে পারে , ...1-Σআমি=1জি(টিআমি3-টিআমি)এন3-এন

আপনার কোড থেকে চালিয়ে যাওয়া:

TIES <- table(activity)
H / (1 - sum(TIES^3 - TIES)/(length(activity)^3 - length(activity)))
#[1] 8.9056

আপনি কি আর ফাংশন সাবধানে কোড, যা আপনি ব্যবহার দেখতে পারেন অধ্যয়নরত আছে খুঁজে বের করতে পারেন getAnywhere(kruskal.test.default)


4
@ মিশেল চেরনিক না, এটি নেই। মুল বক্তব্যটি হ'ল ওপিকে পরীক্ষার সরলকরণ শেখানো হয়েছে যা কোনও সম্পর্ক না থাকলেই ব্যবহার করা উচিত।
রোল্যান্ড 15

4
@ মিশেল চের্নিক আমি বলছি না এটি স্ট্যাক ওভারফ্লোতে ফিট হবে না। তবে আমি যুক্তি দিচ্ছি যে এটি সিভিতে সমানভাবে ফিট করে। স্পষ্টতই, ওপি যদি তাদের কোডগুলি না শুধুমাত্র তারা ব্যবহার করে যে সূত্রগুলি ভাগ করে নিয়েছিল তবে তা সহায়ক হত।
রোল্যান্ড

3
@ মিশেল এই থ্রেডের স্থিতিটি একটি সহজ কল: এটি আমাদের পরিদর্শনের মধ্যে প্রায়শই কারণ এটি একটি পরিসংখ্যানগত পরীক্ষা বোঝার চেষ্টা করে।
whuber

2
সূত্রটি কোডে প্রতিবিম্বিত করার জন্য সম্পাদিত। প্রথমবারের মতো এটি করার কথা ভাবা উচিত ছিল। দুঃক্ষিত।
এমএসআর

3
আর Hmiscপ্যাকেজ spearman2ফাংশনটি দেখুন যা বন্ধনের জন্য মিডরঙ্ক ব্যবহার করে এবং কৃস্কাল F-ওয়ালিস পেতে একটি পরীক্ষা করে। আমি মনে করি এটি কিছু পদ্ধতির তুলনায় আরও সঠিক।
ফ্র্যাঙ্ক হ্যারেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.