Dự đoán biến phản ứng phân loại


8

Tôi có loại dữ liệu sau (được mã hóa bằng R):

v.a = c('cat', 'dog', 'dog', 'goat', 'cat', 'goat', 'dog', 'dog')
v.b = c(1, 2, 1, 2, 1, 2, 1, 2)
v.c = c('blue', 'red', 'blue', 'red', 'red', 'blue', 'yellow', 'yellow')
set.seed(12)
v.d = rnorm(8)
aov(v.a ~ v.b + v.c + v.d) # Error

Tôi muốn biết nếu giá trị của v.bhoặc giá trị của v.ccó bất kỳ khả năng dự đoán giá trị của v.a. Tôi sẽ chạy ANOVA (như được hiển thị ở trên) nhưng tôi nghĩ rằng nó không có ý nghĩa gì vì biến trả lời của tôi không phải là thứ tự (nó là phân loại). Tôi nên làm gì?


5
Tìm hiểu về logit đa quốc gia. Đây là hai cuốn sách trực tuyến miễn phí của Kenneth Train ( elsa.ber siêu.edu / books / cheap.htmlelsa.ber siêu.edu / books / cheap2.html ). Tôi nghĩ đó là những cuốn sách tốt nghiệp. Hoặc chỉ cần google xung quanh cho "logit đa quốc gia."
Hóa đơn

@Bill điều này có vẻ như một khởi đầu tốt cho một câu trả lời. Vui lòng xem xét mở rộng một chút về mô hình logit đa phương thức là gì và đăng nó dưới dạng câu trả lời.
Glen_b -Reinstate Monica

Câu trả lời:


8

Bạn có thể sử dụng bất kỳ phân loại. Bao gồm các phân biệt tuyến tính, logit đa phương thức như Bill đã chỉ ra, Support Vector Machines, Neural Nets, GIỎI, rừng ngẫu nhiên, cây C5, có một thế giới của các mô hình khác nhau có thể giúp bạn dự đoán sử dụng và . Dưới đây là một ví dụ sử dụng triển khai R của rừng ngẫu nhiên:v.mộtv.bv.c

# packages
library(randomForest)

#variables
v.a= c('cat','dog','dog','goat','cat','goat','dog','dog')
v.b= c(1,2,1,2,1,2,1,2)
v.c= c('blue', 'red', 'blue', 'red', 'red', 'blue', 'yellow', 'yellow')

# model fit
# note that you must turn the ordinal variables into factor or R wont use
# them properly
model <- randomForest(y=as.factor(v.a),x=cbind(v.b,as.factor(v.c)),ntree=10)

#plot of model accuracy by class
plot(model)

nhập mô tả hình ảnh ở đây

# model confusion matrix
model$confusion

Rõ ràng các biến này không cho thấy một mối quan hệ mạnh mẽ.


@JEquihua Bạn có thể vui lòng cho tôi biết thêm một chút về "cây" là gì và ý nghĩa của đầu ra (ma trận nhầm lẫn và cốt truyện) là gì. Cảm ơn rất nhiều!
Remi.b

Tôi sẽ. Tôi rất bận, hãy cho tôi một ít thời gian. @ Remi.b
JEquihua

3

Đây là một câu trả lời thực tế hơn một phần, nhưng nó giúp tôi thực hiện một số bài tập trước khi đi sâu vào lý thuyết .

Đây ats.ucla.edu liên kết là một tài liệu tham khảo có thể giúp beggining hiểu về hồi quy logistic đa thức (như ra nhọn bởi Bill), theo một cách thực tế hơn.
Nó trình bày mã tái sản xuất để hiểu chức năng multinomtừ nmetgói trong Rvà cũng cung cấp một bản tóm tắt về giải thích đầu ra.

Xem xét mã này:

va = c('cat','dog','dog','goat','cat','goat','dog','dog') 
     # cat will be the outcome baseline
vb = c(1,2,1,2,1,2,1,2)
vc = c('blue','red','blue','red','red','blue','yellow','yellow') 
     # blue will be the vc predictor baseline
set.seed(12)
vd = round(rnorm(8),2)

data = data.frame(cbind(va,vb,vc,vd))

library(nnet)
fit <- multinom(va ~ as.numeric(vb) + vc + as.numeric(vd), data=data)

# weights:  18 (10 variable)
initial  value 8.788898 
iter  10 value 0.213098
iter  20 value 0.000278
final  value 0.000070 
converged

fit

Call:
multinom(formula = va ~ as.numeric(vb) + vc + as.numeric(vd), 
    data = data)

Coefficients:
     (Intercept) as.numeric(vb)     vcred  vcyellow as.numeric(vd)
dog    -1.044866       120.3495 -6.705314  77.41661      -21.97069
goat   47.493155       126.4840 49.856414 -41.46955      -47.72585

Residual Deviance: 0.0001656705 
AIC: 20.00017 

Đây là cách bạn có thể diễn giải mô hình logistic đa cực được trang bị tuyến tính:

ln(P(vmột= =cmộtt)P(vmột= =dog))= =b10+b11vb+b12(vc= =red)+b13(vc= =yetôitôiow)+b14vd ln(P(vmột= =cmộtt)P(vmột= =gomộtt))= =b20+b21vb+b22(vc= =red)+b23(vc= =yetôitôiow)+b24vd

Đây là một đoạn trích về cách các tham số mô hình có thể được diễn giải:

  • Sự gia tăng một đơn vị trong biến vd có liên quan đến việc giảm tỷ lệ cược log là "dog" so với "cat" với số lượng 21.97069 ( ).b14

logic tương tự cho dòng thứ hai, nhưng, xem xét "dê" so với "mèo" với ( = -47.72585). b24

  • Tỷ lệ cược đăng nhập là "chó" so với "mèo" sẽ tăng thêm 6.705314 nếu chuyển từ vc = "blue" sang vc = "red" ( ). b12

.....

Có nhiều hơn nữa trong bài viết, nhưng tôi nghĩ phần này là cốt lõi.


Tài liệu tham khảo:

Ví dụ phân tích dữ liệu R: Hồi quy logistic đa thức. UCLA: Nhóm tư vấn thống kê.
từ http://www.ats.ucla.edu/stat/r/dae/mlogit.htm (truy cập ngày 05 tháng 11 năm 2013).

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.