Tôi đang giải quyết vấn đề tối ưu hóa đơn giản. Tập dữ liệu có 26 cột và hơn 3000 hàng. Mã nguồn trông giống nhưR giải quyết: hệ thống là chính xác số ít
Means <- colMeans(Returns)
Sigma <- cov(Returns)
invSigma1 <- solve(Sigma)
Và mọi thứ hoạt động perfect- nhưng sau đó tôi muốn làm tương tự cho thời gian ngắn hơn (chỉ 261 hàng) và các chức năng giải quyết viết các lỗi sau:
solve(Sigma)
Error in solve.default(Sigma) :
Lapack routine dgesv: system is exactly singular
Thật kỳ lạ bởi vì khi tôi làm tương tự với một số số ngẫu nhiên:
Returns<-matrix(runif(6786,-1,1), nrow=261)
Means <- colMeans(Returns)
Sigma <- cov(Returns)
invSigma <- solve(Sigma)
không xảy ra lỗi. Ai đó có thể giải thích cho tôi nơi có thể là vấn đề và làm thế nào để đối xử với nó. Cảm ơn bạn rất nhiều, Alex
Tập dữ liệu chứa trả về hàng ngày của 26 nội dung trả về, nó sẽ không thể đảo ngược, phải không? Tôi bối rối tại sao không có vấn đề gì khi tôi có toàn bộ tập dữ liệu trong khi rút ngắn lỗi sản xuất. Bất kỳ ý tưởng làm thế nào để đối phó với nó? – Alex
@Alex Check 'det (Sigma)': Nếu nó bằng 0 thì không thể đảo ngược. – James
Thật vậy, đó là 0. Sự cố khi tôi rút ngắn tập dữ liệu là gì? – Alex