Nhận dạng trong một vấn đề hồi quy phi tuyến


8

Giả sử tôi đang làm việc với mô hình sau

yi=α(1exp(βti))+γ(1exp(δti))+εi .

Các là gaussian iid với zero bình và tôi đang cố gắng để tìm thấy những giá trị tốt nhất phù hợp của .εiα,β,γ,δ

Để cụ thể, giả sử đây là mô hình cho tổng số lượng một số loài vi khuẩn có hai phân loài phát triển kịp thời theo các điều khoản thứ nhất và thứ hai trên RHS, nhưng chúng tôi chỉ đo tổng dân số. Lưu ý: đây không phải là cài đặt thực tế, nhưng đủ cho câu hỏi.

Mô hình không thể nhận dạng theo nghĩa thông thường vì tôi luôn có thể trao đổi và chẳng hạn và có được mật độ / khả năng chính xác như nhau.αγ

Như bạn có thể mong đợi, nếu tôi chạy MCMC về điều này, tôi sẽ kết thúc với hậu thế rộng khủng khiếp, và bất kỳ phương pháp bình phương nhỏ nhất phi tuyến nào cũng cực kỳ nhạy cảm với những dự đoán ban đầu - chúng ta có một cao nguyên lớn trong chức năng khả năng.

Thiết kế thử nghiệm tốt hơn không phải là một lựa chọn ở giai đoạn này - rõ ràng việc đo riêng các phân loài sẽ là lựa chọn tốt nhất.

Có bất cứ điều gì tôi có thể làm với vấn đề này, hoặc là thiết kế thử nghiệm tốt hơn là lựa chọn duy nhất?


1
Tại sao bạn có hai thuật ngữ có cùng cấu trúc? Như bạn đã nói, họ đang xác định sai.
Anna SdTC

1
Chúng đại diện cho hai "số lượng phụ" của số lượng đo. Tôi đã không xây dựng mô hình này, tôi đã được đưa ra để thử và phù hợp với một số dữ liệu và những người đã đưa nó cho tôi nói rằng họ không muốn thay đổi nó. Tôi muốn chắc chắn rằng tôi không thể làm gì trước khi nói với họ rằng điều đó là không thể.
Sẽ

1
Tôi không nghĩ bạn có thể dựa trên mô hình này. Bạn có thể thực hiện một số loại ước tính hai bước trong đó ở bước đầu tiên chỉ có một trong các thuật ngữ theo cấp số nhân này và trong bước thứ hai bạn tính được "lượng tử phụ" không?
Anna SdTC

1
Điều đó có thể làm việc. Tôi chắc chắn cần phải sửa một số thông số nếu tôi sẽ đi đến bất cứ nơi nào và đó có thể là một cách tốt để làm điều đó. Điều gì xảy ra nếu tôi đặt một số mũ trước (với tham số tỷ lệ 'lớn') cho hoặc (chúng không âm)? Suy nghĩ theo hướng cố gắng thường xuyên hóa bằng cách nào đó ...αγ
Sẽ

1
Để biết thông tin chung, như các phương pháp bình phương nhỏ nhất phi tuyến có "Levenberg-Marquest" (LM) và "phản xạ vùng tin cậy" (TRR), bạn đã thử một trong số chúng chưa? Tôi biết rằng TRR cho phép bạn đặt ranh giới trên các tham số trong khi LM thì không. Điều này nói rằng, đối với vấn đề của bạn, tôi nghĩ bạn phải có một cái gì đó nhiều hơn cho phép bạn phân biệt cả hai thuật ngữ. Bạn có thể xác định các phép đo chỉ với một dân số và thực hiện ước tính hai bước như Anna đã lưu ý hoặc thay đổi mô hình của bạn để tính đến các đặc trưng của từng phân loài. Mặt khác, tôi không thấy sự hữu ích của mô hình này.
Tìm hiểu_and_Share

Câu trả lời:


5

Không có vấn đề nhận dạng, ngoại trừ trong ý nghĩa tầm thường rằng bất kỳ một mô hình cụ thể nào cũng có thể có hai mô tả. Vấn đề thực sự có vẻ là khó khăn trong việc lắp mô hình - nhưng đó là do cách các mô hình được tham số hóa thay vì thiếu nhận dạng.

Vấn đề này có một giải pháp tầm thường không kém: tuyên bố, mà không mất bất kỳ tính tổng quát nào, rằng βδ. Nếu bạn muốn thực sự cầu kỳ, cũng nhấn mạnh rằng nếuβ=δ, sau đó αγ.

Thật không may, điều đó đòi hỏi bất kỳ thủ tục nào để phù hợp với mô hình để tôn trọng các ràng buộc này. Giới thiệu một ràng buộc ở đây không phải là quá tệ, bởi vì ứng dụng này rõ ràng là tất cả các tham số đều không âm: dù sao không gian tham số đã có ranh giới rõ ràng. Bao gồm một ràng buộc nữa sẽ không buộc bất kỳ thay đổi nào trong cách chúng ta tiến hành lắp mô hình.


Một phương pháp nổi tiếng để chuyển đổi tối ưu hóa bị ràng buộc thành một phương pháp không bị ràng buộc là xác định lại vấn đề để trong không gian tham số mới, các ranh giới được đẩy ra vô cùng. Có nhiều cách để thực hiện điều đó ở đây. Việc xem xét ý nghĩa của các tham số sẽ hướng dẫn chúng ta. Đặc biệt,ν=α+γ là mức tối đa đạt được của hàm

tg(t;α,β,γ,δ)=α(1eβt)+γ(1eδt)
cho t0. Đượcν, sau đó nhất thiết phải 0ανγ=να. Khi các giá trị không âm tổng hợp thành một tổng thể cố định, nó thường hoạt động để tham số hóa tỷ lệ của chúng theo tổng số theo các góc: đặt một tỷ lệ là cosin bình phương và một tỷ lệ khác là sin bình phương. Hơn nữa, một cách đơn giản để đảm bảoν, βδtích cực là làm cho chúng theo cấp số nhân - nghĩa là sử dụng logarit của chúng làm tham số. Cuối cùng, để thực thiδβ, bộ δ là cosin bình phương của một số lần góc β. Do đó, chúng tôi có thể xác định lại vấn đề bằng cách khớp chức năng

tf(t;n,a,b,d)=en(1cos(a)2exp(ebt)sin(a)2exp(ebcos(d)2t)).

Từ ước tính của các tham số này (nhân tiện, không thể "nhận dạng" do sự mơ hồ trong các góc ad) bạn có thể khôi phục những cái ban đầu như

α=encos(a)2β=ebγ=ensin(a)2δ=ebcos(d)2.

Các thuộc tính của hàm số mũ và hàm số đảm bảo tất cả các ràng buộc giữ: α>0, βδ>0γ>0. (Vì phao chính xác kép có thể trở nên nhỏ trong thiên văn, không có sự phân biệt thực tế giữa> trong những ràng buộc này.)

Theo nghĩa được xác định rõ này, mô hình có thể được xác định mặc dù các tham số được sử dụng để phù hợp với nó không thể nhận dạng được.


Mặc dù người ta có thể sử dụng MCMC, nhưng nếu mục đích chỉ là phù hợp với đường cong thì việc sử dụng một bộ giải số như Newton-Raphson sẽ đơn giản hơn. Bí quyết là tìm một giá trị khởi đầu tốt . Tối đa củayi sẽ được đánh giá quá cao en; bắt đầu, có lẽ vớin=log(max(yi)/2). Bạn có thể bắt đầu bằng , giả sử mỗi thành phần đóng góp đáng kể cho toàn bộ. Đưa ra một số dự đoán hợp lý về và dựa trên tốc độ phân rã dự kiến. Chẳng hạn, nếu phạm vi của là hợp lý, thì lấy là một phần nhỏ nhất của lớn nhất và có thể tùy ý chọn ; có thể sử dụng một giá trị bắt đầu nhỏ hơn. (Bạn sẽ thường nhận được khác nhau giá trị cho các ước lượng tham số tùy thuộc vào những lựa chọn này, nhưng thông thường họ sẽ không đáng kể ảnh hưởng đến chức năng bản thân .)a=π/4ebedtbtd= =π/4f

Trong nhiều trường hợp, phương pháp này hoạt động rất tốt. Ngoại trừ khi phương sai của các lỗi có cùng kích thước với hoặc lớn hơn (trong đó sẽ khó có thể nhận ra bất kỳ tín hiệu nào nếu không có một lượng lớn dữ liệu), sự phù hợp hoạt động ngay cả với lượng dữ liệu nhỏ: tất cả nó cần là bốn.tối đayTôi

Lưu ý rằng bất kể mô hình phù hợp như thế nào, thông thường sẽ có sự không chắc chắn lớn trong các tham số: họ đường cong này về cơ bản là một nhiễu loạn nhỏ của họ hàm mũ hai tham số . Trong nhiều trường hợp, sau đó, hai trong số các tham số (tương ứng với biên độ và tốc độ phân rã dài nhất ) có thể được xác định với độ chính xác hợp lý, nhưng hai tham số khác, phản ánh các biến đổi nhỏ từ hình dạng hàm mũ này, thường sẽ không chắc chắn.tMộte-BtMộtB

Nhân vật

Hình vẽ cho thấy một ví dụ về sự phù hợp đầy thách thức. Các đường cong cơ bản được hiển thị bằng màu đen. Cuối cùng, nó đạt tối đa , rất chậm. Chỉ có điểm dữ liệu có sẵn, được vẽ dưới dạng các chấm màu xám. Độ lệch chuẩn của các lỗi ngẫu nhiên là , một tỷ lệ khá lớn của mức tối đa đó. Nhiều lỗi là dương tính, khiến đường cong được trang bị màu đỏ cao hơn một chút. Hai thành phần hàm mũ của đường cong được trang bị được hiển thị dưới dạng các đường màu xám đứt nét và chấm. Người ta cho thấy sự gia tăng nhanh chóng đến ngưỡng vào thời điểm ; cái kia phản ánh số mũ khác tăng lên ngưỡng4/3241/21/3t= =11. (Bạn sẽ có ít hy vọng tái tạo "vai" sắc nét đó gần cho đến khi bạn có điểm dữ liệu trở lên: hãy thử bằng cách thay đổi mã bên dưới.)t= =11000n

Thành công của bạn trong bất kỳ vấn đề cụ thể nào sẽ phụ thuộc vào mức độ của các lỗi; phạm vi giá trị của được lấy mẫu; làm thế nào những giá trị đó được đặt cách nhau; có bao nhiêu giá trị có sẵn; và lựa chọn các giá trị bắt đầu. Tuy nhiên, điều này dường như là một vấn đề có thể nói chung, với các giải pháp có thể thu được nhanh chóng. Hơn nữa, bất kỳ fitter khả năng tối đa nào cũng sẽ tiến hành tương tự để giảm thiểu tổng bình phương của phần dư - và, ngoài ra, sẽ cung cấp các vùng tin cậy cho các tham số.t

Đây là Rmã tôi đã sử dụng để kiểm tra đề xuất này. Nó sẽ tái tạo hình và dễ dàng sửa đổi - thay đổi giá trị của các biến lúc đầu - để nghiên cứu dữ liệu trông giống như bất kỳ thứ gì bạn có thể có.

#
# Describe the underlying model
#
set.seed(17)
alpha <- 1
beta <- 2
gamma <- 1/3
delta <- 1/10
sigma <- 1/2  # Error SD.
n <- 24
x.max <- 20   # Largest value of t.
#
# The original parameterization.
#
g <- function(x, alpha, beta, gamma, delta) {
  alpha * (1 - exp(-beta * x)) + gamma * (1 - exp(-delta * x))
}
#
# The re-parameterization.  `f.1` and `f.2` are the two exponential components.
#
f <- function(x, nu, t.a, log.b, t.d) {
  n <- exp(nu)
  a <- cos(t.a)^2
  alpha <- n*a
  gamma <- n*(1-a)
  beta <- exp(log.b)
  delta <- cos(t.d)^2 * beta
  n - alpha * exp(-beta * x) - gamma * exp(-delta * x)
}
f.1 <- function(x, nu, t.a, log.b, t.d) {
  n <- exp(nu)
  a <- cos(t.a)^2
  alpha <- n*a
  beta <- exp(log.b)
  alpha * (1 - exp(-beta * x))
}
f.2 <- function(x, nu, t.a, log.b, t.d) {
  n <- exp(nu)
  a <- cos(t.a)^2
  gamma <- n*(1-a)
  beta <- exp(log.b)
  delta <- cos(t.d)^2 * beta
  gamma * (1 - exp(-delta * x))
}
#
# The objective to minimize is the mean squared residual.
# This is equivalent to finding the MLE for Gaussian errors.
#
obj <- function(theta, x, y) {
  crossprod(y - f(x, theta[1], theta[2], theta[3], theta[4])) / length(x)
}
#
# Create data and plot them.
#
x <- seq(0, x.max, length.out=n)
y <- g(x, alpha, beta, gamma, delta) + rnorm(length(x), 0, sigma)
plot(x,y, pch=16, col="#00000040", xlab="t")
#
# Fit the curve.
#
theta <- c(nu=log(max(y)/2), t.a=pi/4, log.b=log(max(x)/10), t.d=pi/4)
fit <- nlm(obj, theta, x=x, y=y, gradtol=1e-14)
theta.hat <- fit$estimate
#
# Plot relevant curves.
#
curve(g(x, alpha, beta, gamma, delta), add=TRUE, lwd=2)
curve(f(x, theta.hat[1], theta.hat[2], theta.hat[3], theta.hat[4]),
      add=TRUE, col="Red", lwd=2)
curve(f.1(x, theta.hat[1], theta.hat[2], theta.hat[3], theta.hat[4]),
      add=TRUE, col="Gray", lty=2, lwd=2)
curve(f.2(x, theta.hat[1], theta.hat[2], theta.hat[3], theta.hat[4]),
      add=TRUE, col="Gray", lty=3, lwd=2)
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.