簡體   English   中英

resolve.default(vamos)中的錯誤:系統在計算上是單數:倒數條件數

[英]Error in solve.default(vamos): system is computationally singular: reciprocal condition number

y <- sample(1:10,5)

sam<-sample(100:130,20)

x <- matrix(sam,5,4)

# 1a

betaestimator <- function(x,y) {
    b<-  solve(t(x)%*%x)%*%t(x)%*%y
b

}


#1b

covestimator <- function(x,y) {

    b<-  solve(t(x)%*%x)%*%t(x)%*%y
  t<-nrow(x)
    k<-ncol(x)
  s <- ((t(y-x%*%b))%*%(y-x%*%b))/(t-k)
  s2 <- matrix (s:s,k,k)
  e <- s2*(solve(t(x)%*%x))
  e

}


#1c

ttest <- function (x,y) {
    b<-  solve(t(x)%*%x)%*%t(x)%*%y
  t<-nrow(x)
    k<-ncol(x)
  s <- ((t(y-x%*%b))%*%(y-x%*%b))/(t-k)
  s2 <- matrix (s:s,k,k)
  e <- s2*(solve(t(x)%*%x))

estatt<-matrix(0,k,1)
   for (i in 1:k ) {
estatt[i,1] = b[i,1]*e[i,i]

}
estatt
}


#ESTATISTICA t TA DANDO MT BAIXO


#2.1


b1<-0.121
b2<-0.190
t<-23
c2<-2
theta<-0.6
x0<-rnorm(1,c2/(1-theta),1/(1-theta^2))




set.seed(1210686)
normais<-c(rnorm(23,0,1))


c<-0:22
c[1]<-x0

for (i in 2:23) {
c[i] = 2 + theta*c[i-1] + normais[i]
}

#2.2

epsilon<-c(rnorm(23,0,1))


#2.3
y<-0:22
for (i in 1:23) {
y[i] = b1 + b2*c[1] + epsilon[i]
}

ytransposto <- t(y)
tudoum<-matrix(1,1,23)

novax <- matrix(rbind(tudoum,c),2,23)
novax
vamos <- (t(novax)%*%novax)
vamos
solve(vamos)

當我嘗試求解此矩陣時,它給了我錯誤:

Error in solve.default(vamos): system is computationally singular: reciprocal condition number = 1.71139e-19
Error in solve.default(vamos): system is computationally singular: reciprocal condition number = 1.71139e-19

我無法更改數字,因為這是我老師給我的課堂項目的一部分。 謝謝!

solve() ,使用較小的公差,例如solve(..., tol = 1e-20) 這應該沒問題,因為您得到的是reciprocal condition number = 1.71139e-19 幫助文件相關問題中的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM