আর.আর ব্যবহার করে দ্বিধাত্ত্বিক তথ্য (বাইনারি ভেরিয়েবল) সম্পর্কিত একটি ফ্যাক্টর বিশ্লেষণের উদাহরণের মাধ্যমে একটি পদক্ষেপের সন্ধান করছেন


14

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

আমি কিছুটা সিমুলার প্রশ্নে চিএল এর প্রতিক্রিয়া দেখেছি এবং আমি টিটিএনএফএনএস এর উত্তরও দেখেছি , তবে আমি আরও বেশি বানানযুক্ত কিছু সন্ধান করছি , যার উদাহরণ দিয়ে আমি কাজ করতে পারি through

আর কে ব্যবহার করে বাইনারি ভেরিয়েবলগুলির উপর একটি ফ্যাক্টর বিশ্লেষণের উদাহরণের মাধ্যমে এই জাতীয় পদক্ষেপের কি কেউ জানেন ?

আপডেট 2012-07-11 22: 03: 35Z

আমার আরও যোগ করা উচিত যে আমি একটি প্রতিষ্ঠিত উপকরণ নিয়ে কাজ করছি, যার তিনটি মাত্রা রয়েছে, এতে আমরা কিছু অতিরিক্ত প্রশ্ন যুক্ত করেছি এবং আমরা এখন চারটি স্বতন্ত্র মাত্রা খুঁজে পাওয়ার আশা করি। তদতিরিক্ত, আমাদের নমুনার আকারটি কেবল এবং বর্তমানে আমাদের আইটেম রয়েছে। আমি আমাদের নমুনার আকার এবং আইটেমের সংখ্যাকে অনেকগুলি মনোবিজ্ঞানের নিবন্ধের সাথে তুলনা করেছি এবং আমরা অবশ্যই নীচের প্রান্তে রয়েছি, তবে আমরা যাইহোক এটি চেষ্টা করতে চেয়েছিলাম। যদিও, উদাহরণটি আমি যা খুঁজছি তার মাধ্যমে পদক্ষেপের জন্য এটি গুরুত্বপূর্ণ নয় এবং নীচে কারাকালের উদাহরণটি সত্যিই আশ্চর্যজনক দেখাচ্ছে। আমি সকালে আমার ডেটা প্রথম জিনিসটি ব্যবহার করে এটির মাধ্যমে আমার কাজ করব।এন=15319


1
আপনার আগ্রহী প্রশ্নটির উপর নির্ভর করে এফএ সম্ভবত সেরা পছন্দ নাও হতে পারে, আপনি কি আপনার অধ্যয়নের প্রসঙ্গে আরও বলতে পারবেন?
chl

@ সিএইচএল, আমার প্রশ্নের জবাব দেওয়ার জন্য আপনাকে ধন্যবাদ, আমরা পিটিএসডি সম্পর্কিত কিছু প্রশ্নের অন্তর্নিহিত ফ্যাক্টর কাঠামোটি তদন্ত করছি । আমরা আগ্রহী 1) কিছু ডোমেন সনাক্তকরণ (গুচ্ছ) এবং 2) প্রতিটি ডোমেনে বিভিন্ন প্রশ্ন কতটা লোড করে তা তদন্ত করে ।
এরিক

1
কেবল নিশ্চিত হতে হবে, (ক) আপনার নমুনার আকারটি কী, (খ) এটি কোনও বিদ্যমান (ইতিমধ্যে বৈধ) সরঞ্জাম বা একটি স্ব-তৈরি প্রশ্নপত্র?
chl

@ সিএল, আমি আপনার প্রশ্নের সত্যই প্রশংসা করি। (ক) আমাদের নমুনার আকার এবং বর্তমানে আমাদের 19 টি আইটেম রয়েছে। আমি আমাদের নমুনার আকার এবং আমাদের আইটেমের সংখ্যাকে আমি জার্নাল অফ ট্রমাটিক স্ট্রেসের সাথে কী তুলনা করতে তুলনা করেছি এবং আমরা অবশ্যই নীচের প্রান্তে রয়েছি, তবে আমরা যাইহোক এটি চেষ্টা করতে চেয়েছিলাম। (খ) আমরা একটি বিদ্যমান উপকরণ ব্যবহার করছি তবে কিছু স্ব-তৈরি প্রশ্ন যুক্ত হয়েছে কারণ আমরা বিশ্বাস করি যে সেগুলি অনুপস্থিতএন=153
এরিক ব্যর্থ

1
ঠিক আছে, এই জন্য ধন্যবাদ। আর।
chl

উত্তর:


22

আমি এটিকে প্রশ্নটির কেন্দ্রবিন্দু তাত্ত্বিক দিকের দিকে কম, এবং ব্যবহারিক দিকের দিকে বেশি, অর্থাত্ কীভাবে আর এর মধ্যে দ্বি-দ্বৈত ডেটার একটি ফ্যাক্টর বিশ্লেষণ বাস্তবায়ন করতে পারি take

প্রথমে 2 অরথোগোনাল ফ্যাক্টর থেকে 6 ভেরিয়েবল থেকে 200 টি পর্যবেক্ষণ অনুকরণ করি। আমি বেশ কয়েকটি মধ্যবর্তী পদক্ষেপ নেব এবং বহুবিচ্ছিন্ন স্বাভাবিক ক্রমাগত ডেটা দিয়ে শুরু করব যা আমি পরে দ্বৈতকরণ করি। এইভাবে, আমরা পিয়েরসন পারস্পরিক সম্পর্কের তুলনা করতে পারি বহুগঠিত সম্পর্কের সাথে, এবং ক্রমাগত ডেটা থেকে ফিক্টর লোডিংগুলির সাথে দ্বিখণ্ডিত তথ্য এবং সত্য লোডিংয়ের সাথে তুলনা করতে পারি।

set.seed(1.234)
N <- 200                             # number of observations
P <- 6                               # number of variables
Q <- 2                               # number of factors

# true P x Q loading matrix -> variable-factor correlations
Lambda <- matrix(c(0.7,-0.4, 0.8,0, -0.2,0.9, -0.3,0.4, 0.3,0.7, -0.8,0.1),
                 nrow=P, ncol=Q, byrow=TRUE)

এক্স=Λ+ +এক্সΛ

library(mvtnorm)                      # for rmvnorm()
FF  <- rmvnorm(N, mean=c(5, 15), sigma=diag(Q))    # factor scores (uncorrelated factors)
E   <- rmvnorm(N, rep(0, P), diag(P)) # matrix with iid, mean 0, normal errors
X   <- FF %*% t(Lambda) + E           # matrix with variable values
Xdf <- data.frame(X)                  # data also as a data frame

অবিচ্ছিন্ন তথ্যের জন্য ফ্যাক্টর বিশ্লেষণ করুন। অপ্রাসঙ্গিক চিহ্নটিকে উপেক্ষা করার সময় আনুমানিক লোডিংগুলি সত্যগুলির সাথে সমান।

> library(psych) # for fa(), fa.poly(), factor.plot(), fa.diagram(), fa.parallel.poly, vss()
> fa(X, nfactors=2, rotate="varimax")$loadings     # factor analysis continuous data
Loadings:
     MR2    MR1   
[1,] -0.602 -0.125
[2,] -0.450  0.102
[3,]  0.341  0.386
[4,]  0.443  0.251
[5,] -0.156  0.985
[6,]  0.590       

এখন ডেটা দ্বিগুণকরণ করা যাক। আমরা ডেটা দুটি ফর্ম্যাটে রাখব: অর্ডারযুক্ত ফ্যাক্টর সহ একটি ডেটা ফ্রেম এবং একটি সংখ্যাসূচক ম্যাট্রিক্স হিসাবে। hetcor()প্যাকেজ থেকে polycorআমাদের বহুবিধ পারস্পরিক সম্পর্ক ম্যাট্রিক্স দেয় যা আমরা পরে এফএর জন্য ব্যবহার করব।

# dichotomize variables into a list of ordered factors
Xdi    <- lapply(Xdf, function(x) cut(x, breaks=c(-Inf, median(x), Inf), ordered=TRUE))
Xdidf  <- do.call("data.frame", Xdi) # combine list into a data frame
XdiNum <- data.matrix(Xdidf)         # dichotomized data as a numeric matrix

library(polycor)                     # for hetcor()
pc <- hetcor(Xdidf, ML=TRUE)         # polychoric corr matrix -> component correlations

এখন নিয়মিত এফএ করতে পলিকরিক পারস্পরিক সম্পর্ক ম্যাট্রিক্স ব্যবহার করুন। নোট করুন যে অনুমান করা লোডিংগুলি অবিচ্ছিন্ন ডেটা থেকে মোটামুটি একই রকম।

> faPC <- fa(r=pc$correlations, nfactors=2, n.obs=N, rotate="varimax")
> faPC$loadings
Loadings:
   MR2    MR1   
X1 -0.706 -0.150
X2 -0.278  0.167
X3  0.482  0.182
X4  0.598  0.226
X5  0.143  0.987
X6  0.571       

আপনি নিজেই পলিচোরিক সম্পর্ক সম্পর্কিত ম্যাট্রিক্স গণনা করার পদক্ষেপটি এড়িয়ে যেতে পারেন এবং সরাসরি fa.poly()প্যাকেজ থেকে ব্যবহার করতে পারেন psych, যা শেষ পর্যন্ত একই কাজ করে। এই ফাংশনটি অংকিত ম্যাট্রিক্স হিসাবে কাঁচা দ্বিখণ্ডিত ডেটা গ্রহণ করে।

faPCdirect <- fa.poly(XdiNum, nfactors=2, rotate="varimax")    # polychoric FA
faPCdirect$fa$loadings        # loadings are the same as above ...

সম্পাদনা: ফ্যাক্টর স্কোরগুলির জন্য, প্যাকেজটির দিকে তাকান ltmযা factor.scores()বিশেষত বহুপ্রকৃত ফলাফলের ডেটার জন্য একটি ফাংশন রয়েছে । এই পৃষ্ঠায় একটি উদাহরণ সরবরাহ করা হয়েছে -> "ফ্যাক্টর স্কোর - সক্ষমতার অনুমান"।

আপনি ফ্যাক্টর বিশ্লেষণ থেকে লোডিংগুলি factor.plot()এবং fa.diagram()উভয়ই প্যাকেজ থেকে কল্পনা করতে পারেন psych। কোনও কারণে, সম্পূর্ণ অবজেক্ট নয়, কেবলমাত্র ফলাফলের উপাদানটি factor.plot()গ্রহণ করে ।$fafa.poly()

factor.plot(faPCdirect$fa, cut=0.5)
fa.diagram(faPCdirect)

factor.plot () এবং fa.diagram () থেকে আউটপুট

সমান্তরাল বিশ্লেষণ এবং একটি "খুব সাধারণ কাঠামো" বিশ্লেষণ কারণগুলির সংখ্যা নির্বাচন করতে সহায়তা করে provide আবার, প্যাকেজের psychপ্রয়োজনীয় ফাংশন রয়েছে। vss()পলিচোরিক পারস্পরিক সম্পর্ক ম্যাট্রিক্সকে আর্গুমেন্ট হিসাবে গ্রহণ করে।

fa.parallel.poly(XdiNum)      # parallel analysis for dichotomous data
vss(pc$correlations, n.obs=N, rotate="varimax")   # very simple structure

পলিজিক এফএ জন্য সমান্তরাল বিশ্লেষণ প্যাকেজ দ্বারা সরবরাহ করা হয় random.polychor.pa

library(random.polychor.pa)    # for random.polychor.pa()
random.polychor.pa(data.matrix=XdiNum, nrep=5, q.eigen=0.99)

ফল.প্যারালাল.পলি () এবং র্যান্ডম.পলিচর.পি () থেকে আউটপুট

মনে রাখবেন যে ফাংশনগুলি fa()এবং fa.poly()এফএ সেট আপ করার জন্য আরও অনেকগুলি বিকল্প সরবরাহ করে। এছাড়াও, আমি আউটপুটটির কিছু সম্পাদনা করেছি যা ফিট টেস্টগুলির সদ্ব্যবহার দেয় these এই ফাংশনগুলির জন্য ডকুমেন্টেশন (এবং psychসাধারণভাবে প্যাকেজ ) দুর্দান্ত। এই উদাহরণটি এখানে আপনাকে শুরু করার উদ্দেশ্যেই করা হয়েছে।


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

@ কারাকাল: সাধারণ পিয়ারসন আর এর জায়গায় পলি / তেত্রা-কোরিক পারস্পরিক সম্পর্কগুলি ব্যবহার করা হয় তখন psychকোনওভাবে ফ্যাক্টর স্কোরগুলি অনুমান করার অনুমতি দেয় ?
ttnphns

3
দুঃখিত, @ কারাকাল, আমি আর ব্যবহারকারী নই। এটা কেন আমি এটা বলছি। যেহেতু আপনি মূল পিয়ারসন আর ব্যবহার করেননি তবে টেট্রাকোরিক আর ব্যবহার করেছেন আপনি আসল বাইনারি ডেটা এবং লোডিং ম্যাট্রিক্সের মধ্যে সোজা সোজা লিনিয়ার-বীজগণিত লিঙ্কটি হারিয়ে ফেলেছেন। আমি ধারণা করি যে এক্ষেত্রে ক্লাসিক রিগ্রেশন / বার্টলেট একের জায়গায় কিছু বিশেষ আলগো ব্যবহার করা হবে (যেমন ইএম পদ্ধতির উপর ভিত্তি করে)। সুতরাং psychযখন আমরা ফ্যাক্টর স্কোরগুলি গণনা করি, তখন আমরা টিট্রাচোরিক আর এর সাথে কাজ করছিলাম, সাধারণ আর নয়?
ttnphns

1
@ এরিকফেইল যেমন যুগোপযোগী পারস্পরিক সম্পর্কের মধ্য দিয়ে পলিকোরিক সম্পর্ক সম্পর্কিত ম্যাট্রিকগুলি অনুমান করা হয়, তেমনি একটি ধনাত্মক সুনির্দিষ্ট শেষ ম্যাট্রিক্স ভেরিয়েবলের সংখ্যা বৃদ্ধির সাথে সাথে আরও সাধারণ হয়ে যায় এবং পর্যবেক্ষণের সংখ্যাটি স্থির হয় (এই এমপি্লাস আলোচনাটি দেখুন )। মতো কাজগুলির nearcor()থেকে sfsmiscবা cor.smooth()থেকে psychএই ক্ষেত্রে ব্যবহার করা হয়।
ক্যারাকাল

1
@ttnphns দুঃখিত, আমি আপনার প্রশ্নের ভুল বুঝেছি। ভাল প্রশ্ন! আমি মূলত MPlus প্রযুক্তিগত পরিশিষ্ট 11 বাস্তবায়ন করা হয় মত কিছু অধিকৃত কিন্তু কোড দিকে তাকিয়ে psychএর factor.scores(), এই ক্ষেত্রে নয়। পরিবর্তে, অবিচ্ছিন্ন ক্ষেত্রে যেমন স্কোর গণনা করা হয়। যাইহোক, factor.scores()প্যাকেজের মধ্যে ফাংশন ltm, সঠিক পদ্ধতি বাস্তবায়ন এই দেখতে বলে মনে হয় উদাহরণস্বরূপ -> "ফ্যাক্টর স্কোর - ক্ষমতা আনুমানিক" এবং সহায়তা পৃষ্ঠা।
ক্যারাকাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.