Có thể tính R bình phương trên tổng hồi quy bình phương nhỏ nhất không?


8

Tôi đang sử dụng chức năng Deming do Terry T. cung cấp trên chuỗi trợ giúp lưu trữ này . Tôi đang so sánh hai phương pháp, vì vậy tôi có dữ liệu giống như thế này:

y  x     stdy   stdx
1  1.2   0.23   0.67
2  1.8   0.05   0.89
4  7.5   1.13   0.44
... ...  ...   ...

Tôi đã thực hiện hồi quy Deming của mình (còn được gọi là "hồi quy tổng bình phương nhỏ nhất") và tôi có được độ dốc và đánh chặn. Tôi muốn có được một hệ số tương quan vì vậy tôi đã bắt đầu tính toán . Tôi đã tự nhập công thức:R2

R2 <- function(coef,i,x,y,sdty){
    predy    <- (coef*x)+i
    stdyl    <- sum((y-predy)^2)   ### The calculated std like if it was a lm (SSres)
    Reelstdy <- sum(stdy)          ### the real stdy from the data  (SSres real)
    disty    <- sum((y-mean(y))^2) ### SS tot
    R2       <- 1-(stdyl/disty)    ### R2 formula
    R2avecstdyconnu <- 1-(Reelstdy/disty) ### R2 with the known stdy
    return(data.frame(R2, R2avecstdyconnu, stdy, Reelstdy))
}

Công thức này hoạt động và cho tôi đầu ra.

  • Cái nào trong hai s có ý nghĩa hơn? (Cá nhân tôi nghĩ rằng cả hai đều thiên vị.) R2
  • Có cách nào để có được một hệ số tương quan từ hồi quy tổng bình phương nhỏ nhất không?

ĐẦU RA TỪ ĐĂNG KÝ DEMING:

Call:
deming(x = Data$DS, y = Data$DM, xstd = Data$SES, ystd = Data$SEM,     dfbeta = T)

               Coef  se(coef)         z            p
Intercept 0.3874572 0.2249302 3.1004680 2.806415e-10
Slope     1.2546922 0.1140142 0.8450883 4.549709e-02

   Scale= 0.7906686 
> 

2
Vì một hệ số tương quan có thể được tính mà không có bất kỳ tham chiếu nào đến hồi quy, bạn có thể làm rõ ý của bạn về "hệ số tương quan" không? Tôi đang cố gắng tìm hiểu xem Pearson sẽ trả lời câu hỏi của bạn hay nếu bạn có lẽ đang tìm kiếm một loại "hệ số xác định" nào đó để phục vụ như một tương tự cho bình phương nhỏ nhất . Nếu đó là cái sau, bạn đang hy vọng điều tương tự này sẽ cho bạn biết điều gì? R 2ρR2
whuber

Tôi đang cố gắng để xem y tương quan với x tốt như thế nào. Tôi đã thêm đầu ra của mình vào câu hỏi từ hồi quy deming (hồi quy tổng bình phương nhỏ nhất) Tôi muốn có thể nói rằng hai phương pháp cho kết quả tương tự trong các từ khác.
Nico Coallier

Câu trả lời:


6

Để giải thích về câu trả lời của những người ở trên - Pearson sẽ cung cấp cho bạn những gì bạn muốn. Nó xác định mức độ y tương quan với x bằng cách sử dụng một cách tiếp cận độc lập với mô hình hồi quy :

ρX,Y=cov(X,Y)σXσY

gx.rma từ gói rgr sẽ thực hiện tổng bình phương tối thiểu và tính toán Pearson cho bạn (hoặc bạn có thể tiếp tục với Deming và thực hiện thủ công).

require(rgr)
set.seed(3)
x<-rnorm(101,mean=2.3,sd=4.2)
x<-x+seq(0,100) 
set.seed(3)
y<-rnorm(101,mean=4.9,sd=1.9)
y<-y+seq(6,206,length=101)

rma<-gx.rma(x,y)
rma$corr
[1] 0.9922014

Vì vậy, câu trả lời cơ bản cho câu hỏi của bạn là, khi thực hiện tổng bình phương tối thiểu, hãy quên R bình phương và chỉ sử dụng Pearson. Bạn luôn có thể bình phương rằng nếu bạn muốn có kết quả từ 0 đến 1. Điều này sẽ làm mọi thứ bạn cần.

Phải nói rằng, tôi sẽ giải thích một chút vì tôi hiểu cảm giác như chúng ta sẽ có thể tính được một bình phương R bình phương.

Trước tiên, hãy thử một hồi quy bình phương bình phương trên dữ liệu bằng lm. Lưu ý rằng nó cho hệ số tương quan tương tự như Pearson (sau khi root vuông và chỉ lo lắng về độ lớn, rõ ràng).

ols<-lm(y~x)
sqrt(summary(ols)$r.squared)
[1] 0.9922014

Điều này được tính từ kết quả mô hình lm bằng cách sử dụng tổng phương pháp bình phương truyền thống

R2=1SresStot

Vì vậy, miễn là bạn sử dụng mô hình được đưa ra bởi lm, (Pearson) -squared và R-squared là tương đương.

Tuy nhiên, nếu bạn sử dụng mô hình từ tổng hồi quy bình phương và thử sử dụng phương trình sau, bạn sẽ nhận được kết quả hơi khác. Điều đó là hiển nhiên bởi vì bình phương và tổng bình phương tối thiểu sử dụng các hàm thu nhỏ khác nhau, do đó, đưa ra các mô hình có độ dốc và độ chặn hơi khác nhau. (Hãy nhớ rằng, phương trình đầu tiên vẫn sẽ cho kết quả tương tự như khi chỉ nhìn vào dữ liệu.)

Đây là nơi tôi bị treo lên mặc dù. Nếu hai phương trình cho cùng một kết quả khi sử dụng mô hình lm, thì chắc chắn phải có một công thức tương đương cho phương trình sau, nhưng khi sử dụng mô hình tổng bình phương nhỏ nhất, cũng cho kết quả tương tự?

Tôi đã chơi nhanh với các cách tiếp cận khác nhau bằng cách sử dụng chức năng thu nhỏ thích hợp (cũng như áp phích ở đây: Hệ số xác định hồi quy trực giao ), nhưng không thể tìm ra cách thực hiện - nếu có cách.

Có lẽ cả hai chúng ta đều cảm thấy lo lắng về việc Pearson và R bình phương cho kết quả như nhau khi sử dụng các hình vuông nhỏ nhất bình thường - và đơn giản là không có cách nào để thực hiện bình phương R trên tổng bình phương nhỏ nhất, sẽ cho kết quả tương tự như Pearson. Nhưng tôi không biết đủ về điều này để nói tại sao không.


Cảm ơn câu trả lời của bạn nhưng ... Tôi vẫn nghĩ rằng gx.rma không phù hợp với những gì tôi đang cố gắng làm đó là lý do tại sao tôi sử dụng hồi quy deming. Bởi vì tôi không hiểu làm thế nào gx.rma thực sự giải thích cho lỗi tiêu chuẩn đã biết ... Nhưng có thể là tôi đã hiểu nhầm điều gì đó ở đây ... Tôi sẽ phải kiểm tra khi tôi có thời gian
Nico Coallier

1
Vấn đề là bạn có thể tính hệ số tương quan giữa x và y (mà bạn đề cập) mà không cần bất kỳ hồi quy nào cả . Tôi nghĩ rằng bạn đang gác máy về sự khác biệt của mối tương quan giữa dữ liệu và đánh giá về chất lượng của hồi quy - chúng không nhất thiết phải giống nhau. Pearson ^ 2 cung cấp cho bạn cái trước và, trong trường hợp LS bình thường (với lm), giống như R ^ 2. Đối với LS trực giao, họ không. Vì vậy, hỏi về coeff tương quan. và R ^ 2 (đặc biệt là bây giờ bạn đề cập đến lỗi std) thực sự là hai câu hỏi khác nhau. Bạn có thể muốn viết lại OP.
Mooks

Tôi có thể không rõ ràng lắm .... điều tôi muốn làm là Pearson. Nhưng điều làm tôi khó chịu là không có R ^ 2 cho tổng hồi quy bình phương nhỏ nhất. Tôi sử dụng tổng bình phương tối thiểu để điều chỉnh hệ số của tôi (độ dốc). Nhưng tôi sẽ sử dụng Pearson cho mối tương quan như bạn đề xuất. Cảm ơn
Nico Coallier

Tôi hiểu, đó là một cái gì đó đang làm phiền tôi quá! Tôi nghĩ nên có một công thức tương đương để đưa ra R2 cho tổng bình phương tối thiểu, nhưng có lẽ tôi không hiểu đầy đủ. Mặc dù, nếu bạn chỉ muốn điều chỉnh độ dốc của mình, thì bạn chỉ có thể sử dụng chức năng thu nhỏ là cơ sở của tổng LS trong Deming. Hãy thử mathworld.wolfram.com/ Kẻ hay arxiv.org/pdf/math/9805076.pdf . Bạn cũng có thể xem xét phân tích thành phần nguyên tắc với prcomp hoặc Princeomp - về cơ bản là giống nhau và có thể họ sẽ loại bỏ thứ gì đó có ích.
Mooks

1

Sử dụng gói "mcr"

và sử dụng hàm để tạo mô hình hồi quy deming của bạn

yourmodel<-mcreg(x, y, ...) # you need to be familiar with the various types of deming constant SD or CV%. these can give very different results. But that's different question.

và tạo ra một cốt truyện bằng cách sử dụng chức năng

MCResult.plot(your model)

Điều này hiển thị mối tương quan thời điểm sản xuất của Pearson trên cốt truyện cho mô hình, cho bạn biết sức mạnh và hướng của mối quan hệ tuyến tính giữa hai biến x, y của bạn, nhưng không đưa ra tỷ lệ của biến thể được giải thích.

Mong rằng sẽ giúp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.