যদিও আমি এখানে প্রশ্নটির পক্ষে ন্যায়বিচার করতে পারি না - এর জন্য একটি ছোট মোনোগ্রাফের প্রয়োজন হবে - এটি কিছু মূল ধারণাগুলি পুনর্নির্মাণে সহায়ক হতে পারে।
প্রশ্নটি
আসুন প্রশ্নটি পুনরায় শুরু করে এবং দ্ব্যর্থহীন পরিভাষা ব্যবহার করে শুরু করি। তথ্য আদেশ জোড়া একটি তালিকা গঠিত । জ্ঞাত ধ্রুবক এবং নির্ধারণ মান এবং । আমরা একটি মডেল পোষ্ট(ti,yi) α1α2x1,i=exp(α1ti)x2,i=exp(α2ti)
yi=β1x1,i+β2x2,i+εi
জন্য ধ্রুবক এবং , আনুমানিক করা র্যান্ডম হয়, এবং - যাহাই হউক না কেন একটি ভাল পড়তা করুন - স্বাধীন ও একটি সাধারণ ভ্যারিয়েন্স (যার প্রাক্কলন সুদের হয়) হচ্ছে।β 2 ε iβ1β2εi
পটভূমি: লিনিয়ার "ম্যাচিং"
মোস্টেলার এবং টুকি = এবং কে "ম্যাচার্স" হিসাবে উল্লেখ করে। এগুলি এর একটি নির্দিষ্ট উপায়ে "মিল" করতে ব্যবহার করা হবে , যা আমি বর্ণনা করব। আরো সাধারণভাবে, দিন এবং একই ইউক্লিডিয় ভেক্টর স্থান কোন দুটি ভেক্টর, সাথে থাকতে "লক্ষ্য" এবং এর ভূমিকায় "মিলকারীর" যে। আমরা একাধিক দ্বারা আনুমানিক করার জন্য নিয়মিতভাবে একটি গুণফল পরিবর্তিত হয়ে চিন্তা করি । ( x 1 , 1 , x 1 , 2 , … ) x 2 y = ( y 1 , y 2 , … ) y x y x λ y λ x λ x y y - λ xx1(x1,1,x1,2,…)x2y=(y1,y2,…)yxyxλyλxλxy হিসাবে সম্ভব। সমানভাবে, এর বর্গক্ষেত্র দৈর্ঘ্য হ্রাস করা হয়।y−λx
এই ম্যাচিং প্রক্রিয়াটি ভিজ্যুয়ালাইজ করার একটি উপায় হ'ল এবং এর একটি স্কেটারপ্ল্লট তৈরি করা যার উপর mb ল্যাম্বদা এর গ্রাফ আঁকা । স্ক্যাটারপ্ল্লট পয়েন্ট এবং এই গ্রাফের মধ্যে উল্লম্ব দূরত্বগুলি অবশিষ্টাংশের ভেক্টর এর উপাদান ; তাদের স্কোয়ারগুলির যোগফল যতটা সম্ভব ছোট করা উচিত। আনুপাতিকতার ধারাবাহিকতা অবধি, এই স্কোয়ারগুলি হল সমান পয়েন্টগুলি কেন্দ্রিক বৃত্তের ক্ষেত্রগুলি : অবশিষ্টাংশগুলির সমান: আমরা এই সমস্ত বৃত্তের ক্ষেত্রফলগুলির যোগফল হ্রাস করতে চাই।y x → λ x y - λ x ( x i , y i )xyx→λx y−λx(xi,yi)
মাঝের প্যানেলে সর্বোত্তম মান দেখানোর উদাহরণ এখানে রয়েছে :λ
স্ক্যাটারপ্লোটের পয়েন্টগুলি নীল; এর গ্রাফটি একটি লাল রেখা। এই চিত্রটিতে জোর দেওয়া হয়েছে যে লাল রেখাটি উত্সটি দিয়ে যেতে বাধ্য হয় : এটি লাইন ফিটিংয়ের একটি খুব বিশেষ ক্ষেত্রে case( 0 , 0 )x→λx(0,0)
একাধিক রিগ্রেশন ক্রমিক মিলের মাধ্যমে প্রাপ্ত করা যেতে পারে
প্রশ্নের সেটিংয়ে ফিরে এসে আমাদের কাছে একটি লক্ষ্য এবং দুটি ম্যাথার এবং । আমরা সংখ্যার চাইতে এবং যার জন্য দ্বারা ঘনিষ্ঠভাবে যতটা সম্ভব আনুমানিক হয় কম দূরত্ব অর্থে আবার। ইচ্ছামত শুরু , Mosteller & Tukey অবশিষ্ট ভেরিয়েবল মেলে এবং করার । এই ম্যাচের রেসিডুয়ালগুলি এবং as হিসাবে লিখুন : নির্দেশ করে যেx 1 x 2 b 1 b 2 y b 1 x 1 + b 2 x 2 x 1 x 2 y x 1 x 2 ⋅ 1 y ⋅ 1 ⋅ 1 x 1yx1x2b1b2yb1x1+b2x2x1x2yx1x2⋅1y⋅1⋅1x1 কে ভেরিয়েবলের "বাইরে" নেওয়া হয়েছে।
আমরা লিখতে পারি
y=λ1x1+y⋅1 and x2=λ2x1+x2⋅1.
নিয়ে যাওয়া হচ্ছে বাইরে এবং , আমরা লক্ষ্য অবশিষ্টাংশ মেলে এগিয়ে থেকে মিলকারীর অবশিষ্টাংশ । চূড়ান্ত অবশিষ্টাংশ হয় । বীজগণিতভাবে, আমরা লিখেছিx 2 y y ⋅ 1 x 2 ⋅ 1 y ⋅ 12x1x2yy⋅1x2⋅1y⋅12
y⋅1y=λ3x2⋅1+y⋅12; whence=λ1x1+y⋅1=λ1x1+λ3x2⋅1+y⋅12=λ1x1+λ3(x2−λ2x1)+y⋅12=(λ1−λ3λ2)x1+λ3x2+y⋅12.
এ থেকে জানা যায় শেষ ধাপে সহগ হয় একটি ম্যাচিং মধ্যে এবং করার ।এক্স 2 এক্স 1 এক্স 2 Yλ3x2x1x2y
আমরা শুধু পাশাপাশি প্রথম গ্রহণ করে অগ্রসর থাকতে পারে বাইরে এবং , উত্পাদক এবং , এবং তারপর গ্রহণ বাইরে , অবশিষ্টাংশ একটি ভিন্ন সেট ফলনশীল । এবার সহগ শেষ ধাপে পাওয়া যায় নি - আসুন একে ডাকতে সহগ --is একটি ম্যাচিং মধ্যে এবং করার ।x 1 y x 1 ⋅ 2 y ⋅ 2 x 1 ⋅ 2 y ⋅ 2 y ⋅ 21 x 1 μ 3 x 1 x 1 x 2 yx2x1yx1⋅2y⋅2x1⋅2y⋅2y⋅21x1μ3x1x1x2y
পরিশেষে, তুলনার জন্য, আমরা এবং বিপরীতে একাধিক (সাধারণ সর্বনিম্ন স্কোয়ার রিগ্রেশন) চালাতে পারি । সেই অবশিষ্টাংশ হতে দিন । দেখা যাচ্ছে যে এই একাধিক রিগ্রেশনের পূর্বে পাওয়া এবং পাওয়া গিয়েছে এবং , , এবং , অভিন্ন।x 1 x 2 y ⋅ l m μ 3 λ 3 y ⋅ 12 y ⋅ 21 y ⋅ l myx1x2y⋅lmμ3λ3y⋅12y⋅21y⋅lm
প্রক্রিয়া চিত্রিত করা
এগুলির কোনওটিই নতুন নয়: এটি সমস্ত কিছুই পাঠ্যে রয়েছে। আমি এখন অবধি যা কিছু পেয়েছি তার জন্য একটি স্ক্যাটারপ্লট ম্যাট্রিক্স ব্যবহার করে চিত্রের বিশ্লেষণের প্রস্তাব দিতে চাই।
যেহেতু এই ডেটাগুলি সিমুলেটেড করা হয়েছে, আমাদের সর্বশেষ সারি এবং কলামে অন্তর্নিহিত "সত্য" মানগুলি দেখানোর বিলাসিতা রয়েছে : এগুলি ত্রুটিটি যুক্ত না করেই ।β 1 x 1 + β 2 x 2yβ1x1+β2x2
ত্রিভুজের নীচের স্ক্যাটারপ্লটগুলি প্রথম চিত্রের মতো ঠিক ম্যাচেরদের গ্রাফ দিয়ে সজ্জিত করা হয়েছে। শূন্য opালু সহ গ্রাফগুলি লাল রঙে আঁকা: এগুলি এমন পরিস্থিতি নির্দেশ করে যেখানে ম্যাচার আমাদের নতুন কিছু দেয় না; অবশিষ্টাংশ লক্ষ্য হিসাবে একই। এছাড়াও, রেফারেন্সের জন্য, উত্সটি (এটি প্লটের অভ্যন্তরে যেখানেই প্রদর্শিত হবে) একটি খোলা লাল বৃত্ত হিসাবে দেখানো হয়েছে: মনে রাখবেন যে সমস্ত সম্ভাব্য মিলিত লাইনগুলি এই বিন্দুটি দিয়ে যেতে হবে।
এই প্লট অধ্যয়নের মাধ্যমে রিগ্রেশন সম্পর্কে অনেক কিছু জানতে পারে। কিছু হাইলাইটগুলি হ'ল:
থেকে (সারি 2, কলাম 1) এর মিল খুব কম। এটি একটি ভাল জিনিস: এটি নির্দেশ করে যে এবং খুব আলাদা তথ্য সরবরাহ করছে; উভয় একসাথে ব্যবহার সম্ভবত একা ব্যবহার না করে চেয়ে অনেক বেশি উপযুক্ত ।x 1 x 1 x 2 yx2x1x1x2y
একবার কোনও ভেরিয়েবলকে লক্ষ্য থেকে বাইরে নিয়ে যাওয়ার পরে সেই পরিবর্তনশীলটিকে আবার বের করে নেওয়ার চেষ্টা করা ভাল নয়: সেরা মিলের লাইনটি শূন্য হবে। জন্য scatterplots দেখুন বনাম বা বনাম , উদাহরণস্বরূপ। x 1 y ⋅ 1 x 1x2⋅1x1y⋅1x1
মান , , , এবং সব বাইরে নিয়ে যাওয়া হয়েছে ।x 2 x 1 ⋅ 2 x 2 ⋅ 1 y ⋅ l মিx1x2x1⋅2x2⋅1y⋅lm
একাধিক রিগ্রেশন বিরুদ্ধে এবং কম্পিউটিং প্রথম অর্জন করা যেতে পারে এবং । এই স্ক্যাটারপ্লটগুলি যথাক্রমে (সারি, কলাম) = এবং হয়। এই অবশিষ্টাংশগুলি হাতে রেখে আমরা তাদের স্ক্র্যাপপ্লট এ দেখি । এই তিনটি এক-ভেরিয়েবল রিগ্রেশন কৌশলটি করে। মোস্টেলার এবং টুকি যেমন ব্যাখ্যা করেছেন, সহজাতগুলির স্ট্যান্ডার্ড ত্রুটিগুলিও এই নিবন্ধগুলি থেকে প্রায় সহজেই পাওয়া যায় - তবে এটি এই প্রশ্নের বিষয় নয়, তাই আমি এখানেই থামব।yx1x2y⋅1x2⋅1(8,1)(2,1)(4,3)
কোড
এই ডেটাগুলি (পুনরুত্পাদনযোগ্য) R
সিমুলেশন দিয়ে তৈরি করা হয়েছিল । বিশ্লেষণ, চেক এবং প্লটগুলিও প্রস্তুত করা হয়েছিল R
। এই কোড।
#
# Simulate the data.
#
set.seed(17)
t.var <- 1:50 # The "times" t[i]
x <- exp(t.var %o% c(x1=-0.1, x2=0.025) ) # The two "matchers" x[1,] and x[2,]
beta <- c(5, -1) # The (unknown) coefficients
sigma <- 1/2 # Standard deviation of the errors
error <- sigma * rnorm(length(t.var)) # Simulated errors
y <- (y.true <- as.vector(x %*% beta)) + error # True and simulated y values
data <- data.frame(t.var, x, y, y.true)
par(col="Black", bty="o", lty=0, pch=1)
pairs(data) # Get a close look at the data
#
# Take out the various matchers.
#
take.out <- function(y, x) {fit <- lm(y ~ x - 1); resid(fit)}
data <- transform(transform(data,
x2.1 = take.out(x2, x1),
y.1 = take.out(y, x1),
x1.2 = take.out(x1, x2),
y.2 = take.out(y, x2)
),
y.21 = take.out(y.2, x1.2),
y.12 = take.out(y.1, x2.1)
)
data$y.lm <- resid(lm(y ~ x - 1)) # Multiple regression for comparison
#
# Analysis.
#
# Reorder the dataframe (for presentation):
data <- data[c(1:3, 5:12, 4)]
# Confirm that the three ways to obtain the fit are the same:
pairs(subset(data, select=c(y.12, y.21, y.lm)))
# Explore what happened:
panel.lm <- function (x, y, col=par("col"), bg=NA, pch=par("pch"),
cex=1, col.smooth="red", ...) {
box(col="Gray", bty="o")
ok <- is.finite(x) & is.finite(y)
if (any(ok)) {
b <- coef(lm(y[ok] ~ x[ok] - 1))
col0 <- ifelse(abs(b) < 10^-8, "Red", "Blue")
lwd0 <- ifelse(abs(b) < 10^-8, 3, 2)
abline(c(0, b), col=col0, lwd=lwd0)
}
points(x, y, pch = pch, col="Black", bg = bg, cex = cex)
points(matrix(c(0,0), nrow=1), col="Red", pch=1)
}
panel.hist <- function(x, ...) {
usr <- par("usr"); on.exit(par(usr))
par(usr = c(usr[1:2], 0, 1.5) )
h <- hist(x, plot = FALSE)
breaks <- h$breaks; nB <- length(breaks)
y <- h$counts; y <- y/max(y)
rect(breaks[-nB], 0, breaks[-1], y, ...)
}
par(lty=1, pch=19, col="Gray")
pairs(subset(data, select=c(-t.var, -y.12, -y.21)), col="Gray", cex=0.8,
lower.panel=panel.lm, diag.panel=panel.hist)
# Additional interesting plots:
par(col="Black", pch=1)
#pairs(subset(data, select=c(-t.var, -x1.2, -y.2, -y.21)))
#pairs(subset(data, select=c(-t.var, -x1, -x2)))
#pairs(subset(data, select=c(x2.1, y.1, y.12)))
# Details of the variances, showing how to obtain multiple regression
# standard errors from the OLS matches.
norm <- function(x) sqrt(sum(x * x))
lapply(data, norm)
s <- summary(lm(y ~ x1 + x2 - 1, data=data))
c(s$sigma, s$coefficients["x1", "Std. Error"] * norm(data$x1.2)) # Equal
c(s$sigma, s$coefficients["x2", "Std. Error"] * norm(data$x2.1)) # Equal
c(s$sigma, norm(data$y.12) / sqrt(length(data$y.12) - 2)) # Equal