একাধিক লিনিয়ার রিগ্রেশন সিমুলেশন


14

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


ঠিক আছে ধন্যবাদ.

যাক আমি এই ডেটা সেটের উপর ভিত্তি করে ডেটা অনুকরণ করতে চাই:

y<-c(18.73,14.52,17.43,14.54,13.44,24.39,13.34,22.71,12.68,19.32,30.16,27.09,25.40,26.05,33.49,35.62,26.07,36.78,34.95,43.67)
x1<-c(610,950,720,840,980,530,680,540,890,730,670,770,880,1000,760,590,910,650,810,500)
x2<-c(1,1,3,2,1,1,3,3,2,2,1,3,3,2,2,2,3,3,1,2)

fit<-lm(y~x1+x2)
summary(fit)

তারপর আমি আউটপুট পেতে:

Call:
lm(formula = y ~ x1 + x2)

Residuals:
     Min       1Q   Median       3Q      Max 
-13.2805  -7.5169  -0.9231   7.2556  12.8209 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) 42.85352   11.33229   3.782  0.00149 **
x1          -0.02534    0.01293  -1.960  0.06662 . 
x2           0.33188    2.41657   0.137  0.89238   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 8.679 on 17 degrees of freedom
Multiple R-squared:  0.1869,    Adjusted R-squared:  0.09127 
F-statistic: 1.954 on 2 and 17 DF,  p-value: 0.1722

আমার প্রশ্নটি কীভাবে একটি নতুন ডেটা অনুকরণ করবেন যা উপরের মূল তথ্যকে নকল করে?

উত্তর:


29
  1. x1x2

  2. βiβ0

  3. σ2σ

  4. εσ2

  5. y=β0+β1x1+β2x2+...+βkxk+ε

yx

যেমন আর-তে আপনি এমন কিছু করতে পারেন:

x1 <- 11:30
x2 <- runif(20,5,95)
x3 <- rbinom(20,1,.5)

b0 <- 17
b1 <- 0.5
b2 <- 0.037
b3 <- -5.2
sigma <- 1.4

eps <- rnorm(x1,0,sigma)
y <- b0 + b1*x1  + b2*x2  + b3*x3 + eps

y

 summary(lm(y~x1+x2+x3))

দেয়

Call:
lm(formula = y ~ x1 + x2 + x3)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6967 -0.4970  0.1152  0.7536  1.6511 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 16.28141    1.32102  12.325 1.40e-09 ***
x1           0.55939    0.04850  11.533 3.65e-09 ***
x2           0.01715    0.01578   1.087    0.293    
x3          -4.91783    0.66547  -7.390 1.53e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 1.241 on 16 degrees of freedom
Multiple R-squared:  0.9343,    Adjusted R-squared:  0.9219 
F-statistic: 75.79 on 3 and 16 DF,  p-value: 1.131e-09

আপনি এই পদ্ধতিটি বেশ কয়েকটি উপায়ে সহজ করতে পারেন তবে আমি বুঝতে পেরেছিলাম যে এটি বানানটি শুরু করতে সহায়তা করবে।

yepsy


অনুমানের মান ত্রুটি পরিবর্তন করা সম্ভব? আমি কিছুটা পরিবর্তিত স্ক্রিপ্ট ব্যবহার করেছি ( rnorm()পরিবর্তে 11:30), তবে যতই ত্রুটি বাড়িয়েছি (সিগমা), অনুমানের স্ট্যান্ডার্ড ত্রুটিগুলি প্রায় সমান।
ড্যানিয়েল

2

সাধারণ বিতরণ অনুসরণ করে ত্রুটিযুক্ত একাধিক লিনিয়ার রিগ্রেশন উত্পন্ন করার জন্য এখানে অন্য কোডটি রয়েছে:

sim.regression<-function(n.obs=10,coefficients=runif(10,-5,5),s.deviation=.1){

  n.var=length(coefficients)  
  M=matrix(0,ncol=n.var,nrow=n.obs)

  beta=as.matrix(coefficients)

  for (i in 1:n.var){
    M[,i]=rnorm(n.obs,0,1)
  }

  y=M %*% beta + rnorm(n.obs,0,s.deviation)

  return (list(x=M,y=y,coeff=coefficients))

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