Làm thế nào để ước tính phần tư thứ ba của dữ liệu bị đánh cắp?


12

Có mẹo kỹ thuật nào để xác định phần tư thứ ba nếu nó thuộc về một khoảng mở có chứa hơn một phần tư dân số (vì vậy tôi không thể đóng khoảng và sử dụng công thức chuẩn)?

Biên tập

Trong trường hợp tôi hiểu nhầm một cái gì đó tôi sẽ cung cấp ít nhiều bối cảnh đầy đủ. Tôi có dữ liệu được sắp xếp trong một bảng có hai cột và, giả sử, 6 hàng. Với mỗi cột tương ứng một khoảng (trong cột đầu tiên) và số lượng dân số "thuộc" khoảng đó. Khoảng cuối cùng là mở và bao gồm hơn 25% dân số. Tất cả các khoảng (ngoại trừ cuối cùng) có cùng phạm vi.

Dữ liệu mẫu (chuyển đổi để trình bày):

Column 1: (6;8),(8;10),(10;12),(12;14),(14;16),(16;∞)
Column 2:    51,    65,     68,     82,     78,   182 

Cột đầu tiên được hiểu là một phạm vi mức thu nhập. Thứ hai là được hiểu là số lượng nhân viên có thu nhập thuộc về khoảng.

Công thức tiêu chuẩn tôi nghĩ đến là Q3=xQ3+3N4i=1k1ninQ3rQ3.


Một giả định phổ biến khi cố gắng ước tính các lượng tử với dữ liệu được đánh dấu là giả định tính đồng nhất trong các thùng. Nhưng khi bạn biết điều gì đó về cách dữ liệu có khả năng được phân phối (như với thu nhập, là sai lệch), các giả định phản ánh rằng kiến ​​thức sẽ có xu hướng tốt hơn. Một cách khác là giả định rằng nó trơn tru, và sau đó làm mịn dữ liệu (cho dù bằng KDE hoặc một số phân phối được trang bị), phân phối lại các điểm trong các thùng theo mô hình [và có thể ước tính lại (theo kiểu hơi giống EM), phù hợp, & phân phối lại trong các thùng một lần nữa] sau đó ước tính số lượng từ đó.
Glen_b -Reinstate Monica

Câu trả lời:


16

Bạn cần phải phù hợp với những dữ liệu được đánh dấu này với một số mô hình phân phối, vì đó là cách duy nhất để ngoại suy vào phần tư trên.

Một mô hình

Theo định nghĩa, một mô hình như vậy được đưa ra bởi một càdlàg chức năng tăng từ 0 để 1 . Xác suất nó gán cho bất kỳ khoảng thời gian ( một , b ]F ( b ) - F ( một ) . Để thực hiện phù hợp, bạn cần phải thừa nhận một gia đình của các chức năng có thể lập chỉ mục bởi một (vector) tham số θ , {F01(a,b]F(b)F(a)θ . Giả sử rằng mẫu tóm tắt một bộ sưu tập của những người được chọn ngẫu nhiên và độc lập từ một quần thể được mô tả bởi một số cụ thể (nhưng không rõ) F θ{Fθ}Fθ, xác suất của mẫu (hoặc khả năng , ) là sản phẩm của xác suất riêng lẻ. Trong ví dụ này, nó sẽ bằngL

L(θ)=(Fθ(8)Fθ(6))51(Fθ(10)Fθ(8))65(Fθ()Fθ(16))182

bởi vì người có xác suất liên quan F θ ( 8 ) - F θ ( 6 ) , 65 có xác suất F θ ( 10 ) -51Fθ(8)Fθ(6)65 , v.v.Fθ(10)Fθ(8)

Lắp mô hình vào dữ liệu

Các ước tính Maximum Likelihood của là một giá trị mà tối đa hóaθ (hoặc tương đương, logarit của L ).LL

Phân phối thu nhập thường được mô hình hóa bằng các phân phối lognatural (xem, ví dụ: http://gdrs.sourceforge.net/docs/PoleStar_TechNote_4.pdf ). Viết , họ phân phối lognatural làθ=(μ,σ)

F(μ,σ)(x)=12π(log(x)μ)/σexp(t2/2)dt.

Đối với gia đình này (và nhiều người khác), việc tối ưu hóa bằng số là điều đơn giản . Chẳng hạn, chúng ta sẽ viết một hàm để tính log ( L ( θ ) ) và sau đó tối ưu hóa nó, bởi vì mức tối đa của log ( L ) trùng với mức tối đa của chính L và (thường) log (LRlog(L(θ))log(L)L đơn giản hơn để tính và ổn định hơn về số lượng để làm việc với:log(L)

logL <- function(thresh, pop, mu, sigma) {
  l <- function(x1, x2) ifelse(is.na(x2), 1, pnorm(log(x2), mean=mu, sd=sigma)) 
                        - pnorm(log(x1), mean=mu, sd=sigma)
  logl <- function(n, x1, x2)  n * log(l(x1, x2))
  sum(mapply(logl, pop, thresh, c(thresh[-1], NA)))
}

thresh <- c(6,8,10,12,14,16)
pop <- c(51,65,68,82,78,182)
fit <- optim(c(0,1), function(theta) -logL(thresh, pop, theta[1], theta[2]))

Giải pháp trong ví dụ này là , được tìm thấy trong giá trị .θ=(μ,σ)=(2.620945,0.379682)fit$par

Kiểm tra các giả định mô hình

Chúng tôi cần ít nhất để kiểm tra mức độ phù hợp với mức lognormality giả định này, vì vậy chúng tôi viết một hàm để tính :F

predict <- function(a, b, mu, sigma, n) {
  n * ( ifelse(is.na(b), 1, pnorm(log(b), mean=mu, sd=sigma)) 
        - pnorm(log(a), mean=mu, sd=sigma) )

Nó được áp dụng cho dữ liệu để thu được các quần thể bin được trang bị hoặc "dự đoán":

pred <- mapply(function(a,b) predict(a,b,fit$par[1], fit$par[2], sum(pop)), 
               thresh, c(thresh[-1], NA))

Chúng ta có thể vẽ biểu đồ của dữ liệu và dự đoán để so sánh chúng một cách trực quan, được hiển thị trong hàng đầu tiên của các ô này:

Histograms

Để so sánh chúng, chúng ta có thể tính toán một thống kê chi bình phương. Điều này thường được gọi là phân phối chi bình phương để đánh giá ý nghĩa :

chisq <- sum((pred-pop)^2 / pred)
df <- length(pop) - 2
pchisq(chisq, df, lower.tail=FALSE)

"Giá trị p" của đủ nhỏ để khiến nhiều người cảm thấy sự phù hợp là không tốt. Nhìn vào các ô, vấn đề rõ ràng tập trung vào thùng 6 - 8 thấp nhất . Có lẽ đầu cuối thấp hơn nên bằng không? Nếu, theo kiểu thăm dò, chúng tôi đã giảm 6 xuống bất cứ thứ gì nhỏ hơn 3 , chúng tôi sẽ có được sự phù hợp được hiển thị ở hàng dưới cùng của các ô. Giá trị p bình phương bây giờ0.00876863 , cho biết (theo giả thuyết, vì hiện tại chúng tôi hoàn toàn ở chế độ thăm dò) rằng thống kê này không tìm thấy sự khác biệt đáng kể giữa dữ liệu và mức độ phù hợp.0.40

Sử dụng sự phù hợp để ước tính số lượng

Nếu chúng ta chấp nhận, sau đó, rằng (1) thu nhập được khoảng lognormally phân phối và (2) giới hạn dưới của thu nhập ít hơn (nói 3 ), sau đó ước tính tối đa khả năng là ( μ , σ ) = ( 2,620334 , 0,405454 ) . Sử dụng các tham số này, chúng ta có thể đảo ngược F để có được phân vị thứ 75 :63(μ,σ)(2.620334,0.405454)F75th

exp(qnorm(.75, mean=fit$par[1], sd=fit$par[2]))

Giá trị là . (Nếu chúng tôi không thay đổi giới hạn dưới của thùng thứ nhất từ 6 thành 3 , chúng tôi sẽ có được thay vì 17.76 .)18.066317.76

Các thủ tục và mã này có thể được áp dụng nói chung. Lý thuyết về khả năng tối đa có thể được khai thác hơn nữa để tính khoảng tin cậy xung quanh phần tư thứ ba, nếu đó là mối quan tâm.


Ồ cảm ơn nhé! Tôi phải thừa nhận rằng tôi đã không mong đợi một máy móc tiên tiến (ít nhất là đối với tôi) sẽ được sử dụng để tìm giải pháp.
at

Máy móc không cần phải tiên tiến hay phức tạp, nhưng bất cứ điều gì bạn làm đều phải tuân theo cùng một dòng chung của ví dụ này: giả sử một cái gì đó về phân phối thu nhập, sử dụng nó để phù hợp với mô hình toán học, kiểm tra mô hình cho hợp lý và nếu nó hợp lý một sự phù hợp hợp lý, sử dụng nó để tính toán phần tư. Trên đường đi, sử dụng các phương pháp đồ họa bởi vì chúng có thể tiết lộ các mẫu thú vị. (Ở đây, mối quan tâm là có một sự khởi đầu rõ ràng từ lognormality trong khung thu nhập thấp : Tôi sẽ tự hỏi tại sao điều đó xảy ra và nó có thể nói gì về dân số này.)
whuber

+1, câu trả lời tuyệt vời. Có vẻ như tôi sẽ phải học R chưa.
dav

8

Quá dài cho một nhận xét:

Câu trả lời của whubers cũng tốt như bất kỳ ai, nhưng anh ta cho rằng sự sai lệch trong mô hình log-normal của mình. Điều này có thể thực tế đối với thu nhập trên một dân số nói chung, nhưng có thể không phải là thu nhập cho một chủ lao động duy nhất ở một cấp cụ thể.

68645017.5

8017.3

17


1
16
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.