সনাক্তকরণ থেকে প্রাক্কলন


9

আমি বর্তমানে পার্লের টুকরোটি (পার্ল, ২০০৯, ২ য় সংস্করণ) পড়ছি এবং একটি মডেলের ননপ্যারমেট্রিক সনাক্তকরণ এবং প্রকৃত অনুমানের মধ্যে লিঙ্কটি প্রতিষ্ঠার জন্য কার্যকারিতা এবং সংগ্রামের বিষয়ে। দুর্ভাগ্যক্রমে, মুক্তা নিজেও এই বিষয়ে খুব চুপচাপ।

একটি উদাহরণ দেওয়ার জন্য, আমার কার্যকারণ পথ, এবং সমস্ত ভেরিয়েবলকে , এবং সাথে একটি সাধারণ মডেল মনে আছে । এছাড়াও, এবং অরক্ষিত প্রভাবগুলির সাথে সম্পর্কিত, । ডু-ক্যালকুলাসের বিধি দ্বারা আমি এখন জানি যে হস্তক্ষেপ-পরবর্তী (পৃথক) সম্ভাব্যতা বন্টন দেওয়া হয়েছে:xzywxwzwyxyx←→y

P(ydo(x))=w,z[P(zw,x)P(w)x[P(yw,x,z)P(xw)]].

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


1
যদি আপনার অনাবৃত বিষয়গুলি রয়েছে যা এক্স এবং y উভয়কেই প্রভাবিত করে, তবে আমি মনে করি আপনি এলোমেলোভাবে x এড়াতে এটি নির্ধারণ করতে পারবেন না। তবে, যদিও আমি কার্যকারণের ক্ষেত্রে পাল্টা কৌশলগত পদ্ধতির সম্পর্কে অনেক কিছু জানি, তবে আমি পার্লের ডু-ক্যালকুলাসের সাথে তেমন পরিচিত নই (আমি এখনও তার বইটি দিয়ে কাজ করছি)।
এলি

উত্তর:


7

এটি একটি খুব ভাল প্রশ্ন। প্রথমে আপনার সূত্রটি সঠিক কিনা তা যাচাই করা যাক। আপনি যে তথ্য দিয়েছেন তা নিম্নলিখিত কার্যকারিতা মডেলের সাথে মিলে যায়:

এখানে চিত্র বর্ণনা লিখুন

এবং আপনি যেমন বলেছিলেন আমরা এর জন্য অনুমানটি অর্জন করতে পারি পি(ওয়াই|(এক্স))ডো-ক্যালকুলাসের নিয়ম ব্যবহার করে। আর আমরা সহজেই প্যাকেজটি দিয়ে এটি করতে পারি causaleffectigraphআপনি প্রস্তাবিত কার্যকারণ চিত্রের সাহায্যে কোনও বস্তু তৈরি করতে আমরা প্রথমে লোড করি :

library(igraph)
g <- graph.formula(X-+Y, Y-+X, X-+Z-+Y, W-+X, W-+Z, W-+Y, simplify = FALSE)
g <- set.edge.attribute(graph = g, name = "description", index = 1:2, value = "U")

যেখানে প্রথম দুটি শর্তাবলীর X-+Y, Y-+Xঅরক্ষিত বিভ্রান্তিকে উপস্থাপন করেএক্স এবং ওয়াই এবং বাকী শর্তাদি আপনার উল্লিখিত নির্দেশিত প্রান্তগুলি উপস্থাপন করে।

তারপরে আমরা আমাদের অনুমানের জন্য জিজ্ঞাসা করি:

library(causaleffect)
cat(causal.effect("Y", "X", G = g, primes = TRUE, simp = T, expr = TRUE))

Σওয়াট,জেড(Σএক্স'পি(ওয়াই|ওয়াট,এক্স',জেড)পি(এক্স'|ওয়াট))পি(জেড|ওয়াট,এক্স)পি(ওয়াট)

যা প্রকৃতপক্ষে আপনার সূত্রের সাথে মিলে যায় --- একটি পর্যবেক্ষণকারী কনফান্ডারারের সাথে সামনের বাড়ির ক্ষেত্রে।

এখন আসুন অনুমানের অংশে। আপনি লিনিয়ারিটি (এবং স্বাভাবিকতা) ধরে নিলে জিনিসগুলি ব্যাপকভাবে সরলীকৃত হয়। মূলত আপনি যা করতে চান তা হ'ল পথটির গুণাগুণগুলি অনুমান করাএক্সজেডওয়াই

আসুন কিছু তথ্য অনুকরণ করি:

set.seed(1)
n <- 1e3
u <- rnorm(n) # y -> x unobserved confounder
w <- rnorm(n)
x <- w + u + rnorm(n)
z <- 3*x + 5*w + rnorm(n)
y <- 7*z + 11*w + 13*u + rnorm(n)

আমাদের অনুকরণে পরিবর্তনের আসল কার্যকারিতা লক্ষ্য করুন এক্স চালু ওয়াই21. আপনি দুটি রিগ্রেশন চালিয়ে এটি অনুমান করতে পারেন। প্রথম ওয়াই~জেড+ +ওয়াট+ +এক্স এর প্রভাব পেতে জেড চালু ওয়াই এবং তারপর জেড~এক্স+ +ওয়াট এর প্রভাব পেতে এক্স চালু জেড। আপনার অনুমানটি উভয় সহগের পণ্য হবে:

yz_model <- lm(y ~ z + w + x)
zx_model <- lm(z ~ x + w)

yz <- coef(yz_model)[2]
zx <- coef(zx_model)[2]
effect <- zx*yz
effect
       x 
21.37626 

এবং অনুমানের জন্য আপনি পণ্যটির (অ্যাসিপটোটিক) স্ট্যান্ডার্ড ত্রুটি গণনা করতে পারেন:

se_yz <- coef(summary(yz_model))[2, 2]
se_zx <- coef(summary(zx_model))[2, 2]
se <- sqrt(yz^2*se_zx^2 + zx^2*se_yz^2)

যা আপনি পরীক্ষা বা আত্মবিশ্বাসের অন্তরগুলির জন্য ব্যবহার করতে পারেন:

c(effect - 1.96*se, effect + 1.96*se) # 95% CI
       x        x 
19.66441 23.08811 

আপনি (অ / আধা) -সম্পর্কিত প্রাক্কলনও সম্পাদন করতে পারেন, আমি পরে অন্যান্য পদ্ধতি সহ এই উত্তরটি আপডেট করার চেষ্টা করব।

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