Sử dụng các phép đo một phần của biến đầu ra trong mô hình


7

Câu hỏi của tôi là: Làm thế nào chúng ta có thể sử dụng dữ liệu đầu ra được đo một phần trong tập huấn luyện? Điều này là mơ hồ, vì vậy tôi cụ thể hóa nó trong một câu chuyện hay thay đổi.

Loài sóc có hạt, nhưng bao nhiêu?

Thiết lập

Có một bộ của sóc và một bộ cây trong rừng. Squirrel có nut. Loài sóc lưu trữ hạt của chúng trong một cây hoặc nhiều cây khác nhau trong rừng. Chúng tôi muốn dự đoán có bao nhiêu loại hạt mà một con sóc nhất định đã thu thập được từ các tính năng đầu vào: trọng lượng sóc và công suất má.STsiSniN

Nghiên cứu giai đoạn 1:

Chúng tôi theo dõi một tập hợp con sóc. Lấy số đo của họ (trọng lượng và dung tích má) và được tính

  1. họ thu thập được bao nhiêu hạt và
  2. có bao nhiêu cây họ cất giữ chúng trong

(ví dụ: Squirrel # 55 lưu trữ 5 hạt trong một cây, 10 hạt trong một cây khác và 500 hạt trong một cây khác [không biết 3 cây]

Nghiên cứu giai đoạn 2:

Chúng tôi theo dõi một tập hợp con của cây. Khi một con sóc đến một trong những cây của chúng tôi, chúng tôi đã xác định chúng (để biết liệu chúng có đi đến một cây khác trong tập hợp nghiên cứu của chúng tôi sau đó không), đo chúng (trọng lượng và sức chứa của má) và đếm xem chúng đã bỏ bao nhiêu hạt. Điều này đã cho chúng tôi một phép đo bộ sưu tập hạt một phần cho một tập hợp con sóc.

(ví dụ: trong Cây số 23, chúng tôi đã thu thập 10 hạt từ Squirrel # 99 và 50 từ Squirrel # 88, trong Cây số 24 chúng tôi đã thu thập ...)

(lưu ý quan trọng: ID sóc không tồn tại qua các giai đoạn.)

Câu hỏi

Giả sử chúng ta muốn mô hình hóa tổng số hạt của một con sóc từ giai đoạn 2. Làm thế nào chúng ta có thể sử dụng các phép đo hạt một phần của chúng để tăng kết quả mô hình?

Hơn nữa, làm thế nào chúng ta có thể giới thiệu các đầu ra được đo một phần vào tập huấn luyện?


Bạn có biết số lượng cây họ bị bắt ở giai đoạn 2 không?
tomka

2
Và ở giai đoạn 1: bạn chỉ biết tổng số hạt họ thu thập được hay bạn có biết điều này trên mỗi cây không? (Ví dụ Squirrel 1 đã thu thập 5 hạt từ cây 1, 3 hạt từ cây 2 và 10 hạt từ cây 3; squrrel 2 đã thu thập 7 hạt từ (một loại khác) cây 1, v.v.
tomka

Phần nào của tổng số là tập hợp con của cây từ giai đoạn 2? (Nếu phần này lớn thì bạn có thể ước tính hợp lý tổng số hạt được thu thập bởi một con sóc dựa trên tập hợp các hạt chia cho phân số đó)
Sextus Empiricus

Xin nói rõ hơn, bạn có biết họ đã lưu trữ bao nhiêu hạt trong mỗi cây ở giai đoạn 1 hoặc 2 hoặc cả hai không?
tomka

1
Câu hỏi thú vị. Thật trùng hợp, ngay lúc tôi nhấp vào liên kết này, một con sóc đã đến ăn một số hạt rải rác cho anh ta trong sân của tôi! Giai đoạn 1 đang được tiến hành ...
user20160

Câu trả lời:


3

Câu hỏi thú vị. Vấn đề chính được ghi nhận bởi @MartijnWeterings là số lượng cây ở giai đoạn 2 chỉ là một phần đo lường của tổng số cây. Tuy nhiên, nếu chúng ta biết tổng số cây, chúng ta có thể giải quyết vấn đề bằng cách xây dựng mô hình số lượng hạt được quan sát ở giai đoạn 1 với số lượng cây ở giai đoạn 1, và sau đó dự đoán số lượng hạt ở giai đoạn 2 bằng cách sử dụng Do đó, số lượng cây ở giai đoạn 2. Chiến lược của chúng tôi trong câu trả lời này là trước tiên là ước tính số lượng cây ở giai đoạn 2 và sau đó xây dựng mô hình các loại hạt cho cây ở giai đoạn 1.

Ký hiệu và giả định

Sau đây, tôi giả định rằng việc lấy mẫu cây và sóc là ngẫu nhiên ở tất cả các giai đoạn. Đặt biểu thị tổng của tất cả các loại hạt được thu thập bởi sóc trong giai đoạn 1. Gọi biểu thị tổng số cây sóc lưu trữ các hạt ở giai đoạn 1. Gọi biểu thị tổng số hạt không quan sát được thu thập sóc trong giai đoạn 2 và để biểu thị số cây sóc lưu trữ hạt ở trong giai đoạn 2. Cuối cùng chúng ta hãy biểu thị số phần của cây quan sát, nơi ,n1iit1iin2jjt2jjk2jk2jt2j

Số cây ở giai đoạn 2

Theo ghi nhận của @MartijnWeterings luôn nhỏ hơn hoặc bằng tổng số cây ở giai đoạn 2, không xác định. Do đó, mục tiêu của chúng tôi trở thành mục tiêu ước tính càng sát càng tốt. May mắn thay, chúng tôi có một số thông tin về . Tùy thuộc vào thiết kế lấy mẫu của bạn trong giai đoạn 2, có một xác suất rằng một con sóc bị bắt tại một trong tổng số cây mà nó truy cập. Do đó xác suất của là nhị thức với các tham số và . Tuy nhiên, chúng tôi quan sát nhị thức ; số lượng câyk2jt2jt2jt2jpt2jk2jt2jpk2jt2jtuy nhiên, không được phân phối nhị thức cho . Tôi không chắc chắn về phân phối chính xác của nó và do đó tôi đã hỏi một câu hỏi về nó trên Toán học-StackExchange . Tôi đã nhận được câu trả lời hữu ích rằng hàm khối lượng xác suất của với và được đưa ra bởi với mọi có kỳ vọng . Do đó, nếu chúng ta biết và chúng ta có thể ước tính . Như đã nói, xác suấtk2jt=t2jk=k2jp

P(t;k,p)=(t1k)pt(1p)(tk),t{k,...,}.
jE(t)=k/pk2jpt^2j=k2j/ppphụ thuộc vào thiết kế lấy mẫu của bạn, nhưng may mắn thay, chúng tôi có thể ước tính nó từ dữ liệu là sao cho .
p^=jk2jit1i
t^2j=k2j/p^

Ước tính theo giả định tỷ lệ

Để cho

π=1#S1in1it1i

là tỷ lệ trung bình của các loại hạt còn lại của một con sóc ở trên cây. Ước tính đầu tiên về tổng số hạt của sóc làj

n^2j=πt^2j.

Ước tính sử dụng mối quan hệ giữa các loại hạt và cây ở giai đoạn 1

Điều này có vẻ không thỏa đáng, bởi vì nó không tính đến việc có thể có mối quan hệ giữa và ngoài một tỷ lệ đơn giản. Ví dụ, chúng ta có thể tưởng tượng những con sóc có hành vi kỳ lạ là để lại ít hạt trên mỗi cây thì chúng càng có nhiều hạt. Sau đó, tổng số hạt sẽ không tăng tương ứng với và thay vào đó làm phẳng. Do đó chúng tôi có thể quyết định mô hìnhntnt

n1i=f(t1i,θ)+ϵi

Trong đó là hàm phi tuyến tính với tham số theta và là thuật ngữ lỗi đo lường. Một lựa chọn rõ ràng có thể làfϵi

n1i=θ0+θ1log(t1i)+ϵi

với iid bình thường với 0 kỳ vọng. Mô hình có thể phù hợp bởi bình phương tối thiểu phi tuyến tính hoặc khả năng tối đa. Một người ước tính sau đó sẽ làϵi

n^2j=θ0^+θ1^log(t^2j)

Tất nhiên các hình thức chức năng khác có thể được sử dụng hoặc bạn có thể sử dụng các kỹ thuật mô hình linh hoạt để xấp xỉ mối quan hệ chức năng, chẳng hạn như các khu rừng ngẫu nhiên (ý định chơi chữ).

Mô phỏng

Nó có hoạt động không? Hãy thử nó. Tôi mô phỏng dữ liệu Rtheo các ý tưởng sau đây. Xác suất mà một con sóc thu thập hạt được đưa ra bởi . Sau đó, một con sóc đến cây đầu tiên và ẩn hạt trong đó và . Nó tiếp tục ẩn ở các hạt cho đến khi nó đến cây và hết hạt. Nó làm như vậy bất kể bạn quan sát nó trong giai đoạn 1 hay 2; tuy nhiên trong giai đoạn 1 bạn quan sát tất cả , trong khi ở giai đoạn 2 bạn quan sát một mẫu từ n+1nPoisson(20)h1+1h1Poisson(λ)λΓ(60/n,1)1+(h2,...,ht)tht{h1,...,ht}. Như đã nói, tôi giả sử bạn có một mẫu cây ngẫu nhiên đơn giản ở giai đoạn 2 và do đó bạn quan sát (cây thứ k được truy cập bởi sóc j) với xác suất (bên dưới trong mã tôi gọi là cắt ngắn này).hkjp

Bây giờ tôi lấy mẫu 1000 con sóc ở giai đoạn 1. Biểu đồ dưới đây minh họa mối quan hệ của tổng số cây và tổng số hạt được thu thập. Có thể thấy rằng có một sự phân rã trong mối quan hệ đó trên .t

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

Bây giờ tôi lấy mẫu ở giai đoạn 2 với và xem xét ba ước tính. Đầu tiên các công cụ ước tính theo tỷ lệ. Thứ hai, tôi tạo một công cụ ước tính sử dụng giá trị trung bình có điều kiện của ở mỗi cấp độ được quan sát làm ước tính cho tại . Để đo điểm chuẩn, tôi sử dụng lại giá trị trung bình có điều kiện của ở mỗi mức được quan sát làm ước tính cho , nhưng hiện tại ở số lượng cây ở giai đoạn 2. Công cụ ước tính này tất nhiên không có sẵn trong thực tế.p=0.5n1t1n2t^2n1t1n2t2

Đối với hai mẫu, một mẫu từ mỗi giai đoạn 1 và 2, và ba công cụ ước tính tôi đến các độ lệch sau, tương ứng: 5,61, -0,19 và 0,24. Hơn nữa, chúng tôi quan sát các lỗi bình phương trung bình gốc sau: 15.3, 4.07, 3.32. Chúng ta thấy rằng công cụ ước tính trung bình có điều kiện với ước tính đã điều chỉnh cho số lượng cây ở giai đoạn 2 có hiệu suất gần như bằng công cụ ước tính sử dụng số lượng cây thực sự chưa biết ở giai đoạn 2. Lỗi còn lại có thể giảm đi một chút hơn nữa bằng cách sử dụng một mô hình tốt hơn cho cho so với mô hình trung bình có điều kiện không tham số.n1t1


Đây là một chức năng tạo dữ liệu cho mô phỏng tôi đã thực hiện.

# A squirrel collects nuts
squirrel_set = function(n, trunc= FALSE){
  nuts = rpois(n, 20) + 1
  nut_seq = list()
  for(i in 1:n){
    j = 1
    nuts_left = nuts[i]
    nuts_hidden = numeric()
    # squirrel hides nuts at tree j
    while(nuts_left>0){
      if(j  == 1) {lambda = rgamma(1,60/nuts_left,1) } 
      if(lambda < 1){ lambda = 1}
      nuts_hidden[j]  = rpois(1, lambda) + 1
      if(nuts_left - nuts_hidden[j] <0){
        nuts_hidden[j] = nuts_left
        nuts_left = 0
      }
      else{ nuts_left =  nuts_left - nuts_hidden[j] }
      j = j+1
    }
    nut_seq[[i]] = nuts_hidden
  } 
  # Truncated sample
  # A squirrel is caught with probability .5 at a tree 
  # (or a random half of the trees are observed and a squirrel is always caught)
  if(trunc == TRUE){
    trees = sapply(nut_seq , length)
    nut_seq_obs = list()
    for(i in 1:length(nut_seq)){
      caught = rbinom(trees[i],1,.5)
      nut_seq_obs[[i]] = nut_seq[[i]][as.logical(caught)]
    }
    return( list(nut_seq,nut_seq_obs) )
  }
  else{
    return(nut_seq)
  }
}

Và đây là mã được sử dụng trong phân tích:

set.seed(12345)
n = 1000
# Phase 1
nut_seq1 = squirrel_set(n)

# Phase 2
nut_seq2 = squirrel_set(n, trunc = TRUE)
nut_seq2_true = nut_seq2[[1]]
nut_seq2_trunc = nut_seq2[[2]]

# Trees and nuts at phases 1 and 2
t1  = sapply(nut_seq1,length, simplify = TRUE) # Trees seen at phase 1

k   = sapply(nut_seq2_trunc , length) # Trees seen at phase 2
nut_seq2_trunc = nut_seq2_trunc[k>0] # Squirrels with k=0 have avtually not been observed
nut_seq2_true = nut_seq2_true[k>0]
k   = k[k>0]
n1  = sapply(nut_seq1,sum, simplify = TRUE) # Trees seen at phase 1
n2  = sapply(nut_seq2_true,sum, simplify = TRUE) # Trees at phase 2 (unobserved)
t2  = sapply(nut_seq2_true,length, simplify = TRUE) # Trees at phase 2 (unobserved)

# Plot
plot( t1, n1, xlab='Trees at phase 1', ylab='Total number of nuts at phase 1')
mnuts = numeric()
for(i in 1:max(t1)){
  mnuts[i] = mean(n1[t1 == i])
}
lines( 1:max(t1), mnuts, col=2)
legend("bottomright",lty=1, lwd=2, col='2', legend='Conditional mean')

# Estimators
p           = sum(k) / sum(t1) # Estimate of observational probability at phase 2
t2_est      = k/p  # Estimate of total number of trees for each squirrel at phase 2

n2_prop_est = t2_est * mean(sapply(n1,sum, simplify = TRUE)/t1 )  # proportionality

mnuts = numeric()
for(i in 1:max(t1)){
  mnuts[i] = mean(n1[t1 == i]) # Conditional mean at each level of trees at phase 1
}
n2_regest = mnuts[round(t2_est)] # Non-parametric regression estimate of n2
n2_regest_truet2 = mnuts[t2] 

# Bias and Variance
mean( n2_prop_est - n2)
sqrt(mean( (n2_prop_est - n2)^2 ))

mean( n2_regest - n2 , na.rm=TRUE)
sqrt(mean( (n2_regest - n2)^2 , na.rm=TRUE))

mean( n2_regest_truet2 - n2 , na.rm=TRUE)
sqrt(mean( (n2_regest_truet2 - n2)^2 , na.rm=TRUE))

2
Đây là một câu trả lời được viết rất độc đáo và sử dụng giai đoạn 1 để có được mối quan hệ giữa và dường như là cách để đi. Nhưng, vấn đề không dễ bị bẻ khóa. Các trong giai đoạn 2 là một khác nhau điều. Nó dựa trên các phép đo từ một tập hợp con . Nếu ai đó may mắn thì có một mối quan hệ rõ ràng giữa số lượng hạt và số hạt trên mỗi cây. Vì 'số hạt trên mỗi cây' này có thể được ước tính một cách hợp lý trong giai đoạn 2.n1it1it2i
Sextus Empiricus

Sự chu đáo và chơi chữ của bạn được đánh giá cao, và tôi cũng thích ý tưởng tìm kiếm mối quan hệ giữa số lượng hạt và số cây. @MartijnWeterings là chính xác mặc dù. Squirrel j lưu trữ các loại hạt tại ít nhất là cây t2j. Bạn dường như đang giải quyết vấn đề này trong bản nháp không được chấp nhận của bạn với "bây giờ chúng ta chỉ có thể nhìn vào giai đoạn 1 ở những con sóc lưu trữ các loại hạt ở cùng một số cây hoặc nhiều hơn" . Tôi nghĩ ý tưởng này thực sự tuyệt vời! Có vẻ như bạn đang mô phỏng các phép đo hạt một phần với tổng số hạt. Đây là nơi suy nghĩ của tôi đã đi.
colorlace

@timwiz Cảm ơn. Bạn và MartijnWeterings đều đúng, đây vẫn là một vấn đề trong phương pháp mô hình hồi quy / tn. Tôi có một ý tưởng làm thế nào để khắc phục nó, bởi vì tôi tin rằng chúng ta có thể ước tính xác suất rằng con sóc đã viếng thăm tổng cộng các cây nếu chúng ta nhìn thấy nó ở các cây . Đối với ý tưởng không được chấp nhận: có thực sự đó là những gì tôi đã nghĩ trong đầu. Trước tiên tôi sẽ cố gắng khắc phục phương pháp hồi quy và sau đó tiếp tục suy nghĩ về ý tưởng này. T2t2j
tomka

1
@timwiz Tôi đã sửa đổi hoàn toàn câu trả lời của mình để tính đến số lượng cây chưa biết ở giai đoạn 2. Tôi đã thêm một mô phỏng thể hiện hiệu suất của nó. Tôi cũng đã xem xét công cụ ước tính bootstrap mà tôi đã không biết trong phiên bản trước của câu trả lời này trong công việc không được hiển thị ở đây. Tuy nhiên, công cụ ước tính này có hiệu suất kém hơn công cụ ước tính mà tôi báo cáo và do đó tôi không thảo luận về vấn đề này ở đây (câu trả lời đã khá dài và tôi muốn báo cáo kết quả liên quan).
tomka

@timwiz Có thiếu điều gì trong câu trả lời hoặc câu hỏi mở không?
tomka

2

Trong giai đoạn 1, bạn có thể tạo một mô hình liên quan đến hành vi của một con sóc với tổng số hạt.

Trong giai đoạn 2, bạn không quan sát chính xác thông tin đầy đủ như trong giai đoạn 1. Chẳng hạn, bạn không biết tổng số cây được sử dụng bởi một con sóc cụ thể. Nhưng bạn có quan sát một số hành vi của con sóc, cụ thể là một mẫu từ sự phân bố số lượng hạt trên mỗi cây. Từ đó, bạn có thể ước tính phân phối và các tham số mô tả phân phối có thể là đầu vào cho mô hình.

  • Vì vậy, trong giai đoạn 1, bạn tạo ra một mô hình liên quan đến tổng số hạt mà một con sóc lưu trữ với sự phân phối các hạt trên mỗi cây cho con sóc. Làm thế nào chính xác để mô hình này là khó nói.

    Nếu bạn nghĩ rằng bạn có thể tạo ra một số mô hình cơ học thì bạn có thể bắt đầu với một số phân tích khám phá và những hiểu biết trước về hành vi của sóc để có ý tưởng về một mô hình hữu ích. Tôi thiếu dữ liệu và kiến ​​thức sinh học để làm điều này trong câu trả lời này (Một hướng rõ ràng có thể là xem liệu nhiều hạt trên mỗi cây cũng sẽ liên quan đến nhiều hạt hơn và có thể điều này sẽ có mối quan hệ phức tạp hơn với trọng lượng của sóc và số má và các yếu tố khác, như độ biến thiên cao của các loại hạt trên mỗi cây cũng có thể giúp nhận được một dấu hiệu về tổng số cây được sử dụng bởi một con sóc)

  • Trong giai đoạn 2, bạn sẽ ước tính các tham số cần thiết để đưa ra dự đoán với mô hình đã được tạo trong giai đoạn 1. Các tham số mô tả phân phối cho số lượng hạt trên mỗi cây có thể được ước tính từ mẫu được đo tại tập hợp con của cây.

    Một cách đơn giản là bỏ qua id cây và chỉ sử dụng dữ liệu trên mỗi con sóc để ước tính các tham số phân phối và đưa chúng vào mô hình từ giai đoạn 1.

    Một mô hình chính xác hơn sẽ coi id của cây là một yếu tố ngẫu nhiên sao cho hành vi được gán riêng cho con sóc có thể được ước tính tốt hơn. Để coi cây là một yếu tố ngẫu nhiên, bạn sẽ phải biết làm thế nào cây có thể là một yếu tố ngẫu nhiên. Bạn có thể đưa ra một phỏng đoán có giáo dục cho điều này, nhưng bạn cũng có thể thử tìm hiểu điều này từ dữ liệu (trước tiên tôi sẽ nói về một số phân tích khám phá, kiểm tra mối tương quan giữa một cây và số lượng hạt được lưu trữ trong mỗi con sóc và cho dù hiệu ứng này là độc lập hay có thể một số cây thu hút loại sóc cụ thể, trước khi đưa ra một cái gì đó định lượng.). Trong giai đoạn 1, bạn không quan sát thông tin liên quan đến id cây nhưng trong giai đoạn 2 bạn làm và bạn có thể sử dụng dữ liệu đó.

Vì vậy, trong một tóm tắt. Tôi nghĩ rằng bạn cần một số phân tích khám phá trước khi bạn thực sự có thể thực hiện một số lượng lớn hơn phương pháp đơn giản (đơn giản là bỏ qua id cây trong giai đoạn 2 và chỉ sử dụng các tham số phân phối đơn giản làm đầu vào cho mô hình có hệ số được học trong giai đoạn 1) .


Hơn nữa, làm thế nào chúng ta có thể giới thiệu các đầu ra được đo một phần vào tập huấn luyện?

Khi bạn tạo mô hình thành 1 bằng cách sử dụng các tham số mô tả phân bố hạt trên mỗi cây cho một con sóc cụ thể, bạn cần tính đến việc phải ước tính hợp lý các số đó trong giai đoạn 2 và các lỗi đó sẽ không ảnh hưởng đến mô hình quá nhiều. Ví dụ, trung bình và phương sai (hoặc thống kê đơn giản khác) có thể được ước tính một cách hợp lý từ các mẫu trong giai đoạn 2 (giả sử mẫu của bạn không quá nhỏ) nhưng các khoảnh khắc thứ tự cao hơn có thể không.

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.