X = cbind(c(1,2,3))
X
## [,1]
## [1,] 1
## [2,] 2
## [3,] 3
Y = cbind(c(4,5,6))
Y
## [,1]
## [1,] 4
## [2,] 5
## [3,] 6
t(X) %*% Y
## [,1]
## [1,] 32
solve(t(X) %*% X)%*%t(X) %*% Y
## [,1]
## [1,] 2.285714
Dogrusal_reg <- function(X, Y)
solve(t(X) %*% X)%*%t(X) %*% Y
Dogrusal_reg(X=X, Y=Y)
## [,1]
## [1,] 2.285714
library(wooldridge)
data("bwght")
Xler = cbind(bwght$cigs, bwght$faminc)
head(Xler)
## [,1] [,2]
## [1,] 0 13.5
## [2,] 0 7.5
## [3,] 0 0.5
## [4,] 0 15.5
## [5,] 0 27.5
## [6,] 0 7.5
Xler = cbind(bwght$cigs, bwght$faminc, c(rep(1, nrow(bwght))))
head(Xler)
## [,1] [,2] [,3]
## [1,] 0 13.5 1
## [2,] 0 7.5 1
## [3,] 0 0.5 1
## [4,] 0 15.5 1
## [5,] 0 27.5 1
## [6,] 0 7.5 1
Y = cbind(bwght$bwght)
head(Y)
## [,1]
## [1,] 109
## [2,] 133
## [3,] 129
## [4,] 126
## [5,] 134
## [6,] 118
Dogrusal_reg(X=Xler, Y=Y)
## [,1]
## [1,] -0.46340754
## [2,] 0.09276474
## [3,] 116.97413048
lm(bwght$bwght ~ bwght$cigs + bwght$faminc)
##
## Call:
## lm(formula = bwght$bwght ~ bwght$cigs + bwght$faminc)
##
## Coefficients:
## (Intercept) bwght$cigs bwght$faminc
## 116.97413 -0.46341 0.09276
summary(lm(bwght$bwght ~ bwght$cigs + bwght$faminc))
##
## Call:
## lm(formula = bwght$bwght ~ bwght$cigs + bwght$faminc)
##
## Residuals:
## Min 1Q Median 3Q Max
## -96.061 -11.543 0.638 13.126 150.083
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 116.97413 1.04898 111.512 < 2e-16 ***
## bwght$cigs -0.46341 0.09158 -5.060 4.75e-07 ***
## bwght$faminc 0.09276 0.02919 3.178 0.00151 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 20.06 on 1385 degrees of freedom
## Multiple R-squared: 0.0298, Adjusted R-squared: 0.0284
## F-statistic: 21.27 on 2 and 1385 DF, p-value: 7.942e-10
Dogrusal_reg_se <- function(X, Y)
sqrt(as.numeric(var(Y - X%*%solve(t(X) %*% X)%*%t(X) %*% Y))*solve(t(X) %*% X))
Dogrusal_reg_se(X=Xler, Y=Y)
## Warning in sqrt(as.numeric(var(Y - X %*% solve(t(X) %*% X) %*% t(X) %*% : NaNs
## üretimi
## [,1] [,2] [,3]
## [1,] 0.09151077 0.02149117 NaN
## [2,] 0.02149117 0.02916682 NaN
## [3,] NaN NaN 1.048228
dr <- function(X, Y) {
A <- solve(t(X) %*% X)%*%t(X) %*% Y
B <- diag(sqrt(as.numeric(t(Y-as.numeric(t(Y)%*%rep(1, nrow(Y))/nrow(Y)))%*%(Y-as.numeric(t(Y)%*%rep(1, nrow(Y))/nrow(Y)))/(nrow(Y)-1))*solve(t(X) %*% X)))
result <- list(t(A), B)
names(result) <- c("katsayılar", "Standart Hatalar")
suppressMessages(return(result))
}
dr(X=Xler, Y=Y)
## Warning in sqrt(as.numeric(t(Y - as.numeric(t(Y) %*% rep(1, nrow(Y))/nrow(Y)))
## %*% : NaNs üretimi
## $katsayılar
## [,1] [,2] [,3]
## [1,] -0.4634075 0.09276474 116.9741
##
## $`Standart Hatalar`
## [1] 0.09290577 0.02961144 1.06420678
dr <- function(X, Y) {
A <- solve(t(X) %*% X)%*%t(X) %*% Y
B <- diag(sqrt(as.numeric(t(Y-as.numeric(t(Y)%*%rep(1, nrow(Y))/nrow(Y)))%*%(Y-as.numeric(t(Y)%*%rep(1, nrow(Y))/nrow(Y)))/(nrow(Y)-1))*solve(t(X) %*% X)))
C <- t(A)/B
D <- 1-pt(abs(C), nrow(X) - ncol(X) - 1)
result <- list(t(A), B, C, D)
names(result) <- c("katsayılar", "Standart Hatalar", "t değerleri", "pr (-t < & > t)")
suppressMessages(return(result))
}
dr(X=Xler, Y=Y)
## Warning in sqrt(as.numeric(t(Y - as.numeric(t(Y) %*% rep(1, nrow(Y))/nrow(Y)))
## %*% : NaNs üretimi
## $katsayılar
## [,1] [,2] [,3]
## [1,] -0.4634075 0.09276474 116.9741
##
## $`Standart Hatalar`
## [1] 0.09290577 0.02961144 1.06420678
##
## $`t değerleri`
## [,1] [,2] [,3]
## [1,] -4.987931 3.132733 109.9167
##
## $`pr (-t < & > t)`
## [,1] [,2] [,3]
## [1,] 3.437984e-07 0.000884092 0