আমার নিজের বোঝার জন্য, আমি আনুমানিক সহগের মানক ত্রুটির গণনাটি ম্যানুয়ালি প্রতিলিপি করতে আগ্রহী যেমন উদাহরণস্বরূপ, lm()
ফাংশনটির আউটপুট নিয়ে আসি R
, তবে এটিকে পিন করতে সক্ষম হইনি। সূত্র ব্যবহার / বাস্তবায়ন কি?
আমার নিজের বোঝার জন্য, আমি আনুমানিক সহগের মানক ত্রুটির গণনাটি ম্যানুয়ালি প্রতিলিপি করতে আগ্রহী যেমন উদাহরণস্বরূপ, lm()
ফাংশনটির আউটপুট নিয়ে আসি R
, তবে এটিকে পিন করতে সক্ষম হইনি। সূত্র ব্যবহার / বাস্তবায়ন কি?
উত্তর:
লিনিয়ার মডেলটি হিসাবে লেখা হয় যেখানে প্রতিক্রিয়াগুলির ভেক্টরকে বোঝায়, fixed স্থির প্রভাবের পরামিতিগুলির ভেক্টর, the যার সম্পর্কিত কলামগুলি ব্যাখ্যাযোগ্য ভেরিয়েবলের মান এবং এলোমেলো ত্রুটির ভেক্টর
এটি সুপরিচিত যে of এর একটি অনুমান দেওয়া হয়েছে (যেমন, উইকিপিডিয়া নিবন্ধটি উল্লেখ করুন ) সুতরাং [অনুস্মারক: , কিছু এলোমেলো ভেক্টর এবং কিছু অ-র্যান্ডম ম্যাট্রিক্স ]
যাতে যেখানে আনোভা সারণীতে মিউন স্কয়ার ত্রুটি (এমএসই) দ্বারা প্রাপ্ত করা যেতে পারে।
আর-তে সাধারণ লিনিয়ার রিগ্রেশন সহ উদাহরণ
#------generate one data set with epsilon ~ N(0, 0.25)------
seed <- 1152 #seed
n <- 100 #nb of observations
a <- 5 #intercept
b <- 2.7 #slope
set.seed(seed)
epsilon <- rnorm(n, mean=0, sd=sqrt(0.25))
x <- sample(x=c(0, 1), size=n, replace=TRUE)
y <- a + b * x + epsilon
#-----------------------------------------------------------
#------using lm------
mod <- lm(y ~ x)
#--------------------
#------using the explicit formulas------
X <- cbind(1, x)
betaHat <- solve(t(X) %*% X) %*% t(X) %*% y
var_betaHat <- anova(mod)[[3]][2] * solve(t(X) %*% X)
#---------------------------------------
#------comparison------
#estimate
> mod$coef
(Intercept) x
5.020261 2.755577
> c(betaHat[1], betaHat[2])
[1] 5.020261 2.755577
#standard error
> summary(mod)$coefficients[, 2]
(Intercept) x
0.06596021 0.09725302
> sqrt(diag(var_betaHat))
x
0.06596021 0.09725302
#----------------------
যখন একটি একক ব্যাখ্যামূলক চলক থাকে, তখন মডেলটি এবং যাতে এবং সূত্রগুলি আরও ট্রান্সপার্যান্ট হয়ে যায়। উদাহরণস্বরূপ, আনুমানিক স্ট্যান্ডার্ড ত্রুটি
> num <- n * anova(mod)[[3]][2]
> denom <- n * sum(x^2) - sum(x)^2
> sqrt(num / denom)
[1] 0.09725302
lm.fit
/ এর মধ্যে ব্যবহৃত প্রকৃত বাস্তবায়ন summary.lm
কিছুটা আলাদা ...
এগুলির জন্য সূত্রগুলি পরিসংখ্যানগুলির কোনও মধ্যবর্তী পাঠ্যে পাওয়া যেতে পারে, বিশেষত, আপনি সেগুলি শেদার (২০০৯, অধ্যায় ৫) এ খুঁজে পেতে পারেন , সেখান থেকে নিম্নলিখিত অনুশীলনও নেওয়া হয়েছে (পৃষ্ঠা 138)।
নিম্নলিখিত আর কোডটি গুণমানের অনুমান এবং তাদের মান ত্রুটিগুলি ম্যানুয়ালি গণনা করে
dfData <- as.data.frame(
read.csv("http://www.stat.tamu.edu/~sheather/book/docs/datasets/MichelinNY.csv",
header=T))
# using direct calculations
vY <- as.matrix(dfData[, -2])[, 5] # dependent variable
mX <- cbind(constant = 1, as.matrix(dfData[, -2])[, -5]) # design matrix
vBeta <- solve(t(mX)%*%mX, t(mX)%*%vY) # coefficient estimates
dSigmaSq <- sum((vY - mX%*%vBeta)^2)/(nrow(mX)-ncol(mX)) # estimate of sigma-squared
mVarCovar <- dSigmaSq*chol2inv(chol(t(mX)%*%mX)) # variance covariance matrix
vStdErr <- sqrt(diag(mVarCovar)) # coeff. est. standard errors
print(cbind(vBeta, vStdErr)) # output
যা আউটপুট উত্পাদন করে
vStdErr
constant -57.6003854 9.2336793
InMichelin 1.9931416 2.6357441
Food 0.2006282 0.6682711
Decor 2.2048571 0.3929987
Service 3.0597698 0.5705031
থেকে আউটপুট তুলনা করুন lm()
:
# using lm()
names(dfData)
summary(lm(Price ~ InMichelin + Food + Decor + Service, data = dfData))
যা আউটপুট উত্পাদন করে:
Call:
lm(formula = Price ~ InMichelin + Food + Decor + Service, data = dfData)
Residuals:
Min 1Q Median 3Q Max
-20.898 -5.835 -0.755 3.457 105.785
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -57.6004 9.2337 -6.238 3.84e-09 ***
InMichelin 1.9931 2.6357 0.756 0.451
Food 0.2006 0.6683 0.300 0.764
Decor 2.2049 0.3930 5.610 8.76e-08 ***
Service 3.0598 0.5705 5.363 2.84e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.55 on 159 degrees of freedom
Multiple R-squared: 0.6344, Adjusted R-squared: 0.6252
F-statistic: 68.98 on 4 and 159 DF, p-value: < 2.2e-16
solve()
ফাংশনটির সাথে দুর্দান্ত কৌশল । এটি ম্যাট্রিক্স বীজগণিত ছাড়াই বেশ কিছুটা দীর্ঘ হবে। কেবলমাত্র বেসিক অপারেটরগুলির সাথে সুনির্দিষ্ট রেখাটি সম্পাদন করার কোনও সংলগ্ন উপায় আছে?
ওকরামের উত্তরের অংশটি ভুল। বাস্তবিক:
এবং প্রথম উত্তরের মন্তব্য দেখায় যে সহগের বৈচিত্রের আরও ব্যাখ্যা প্রয়োজন:
ধন্যবাদ, আমি that সেই বিটার টুপি উপেক্ষা । সিদ্ধান্তগ্রহণ উপরে । সঠিক ফলাফলটি হ'ল:
1.(এই সমীকরণ পেতে, প্রথম অর্ডার ব্যুৎপন্ন সেট উপর শূন্য সমান, maxmizing জন্য )
2.
3.
আশা করি এটি সাহায্য করবে।