Khoảng dung sai không đối xứng cho các biến rời rạc


8

Giả sử bạn có một nhóm người đánh giá mức độ họ thích một bộ phim theo tỷ lệ rời rạc từ 1 đến 10 và bạn muốn có một khoảng [ l , u ] sao cho với độ tin cậy (ít nhất) 95%, (ít nhất) 90 % của tất cả những người xem phim sẽ đánh giá nó không thấp hơn l và không cao hơn u . [ l , u ] sau đó là khoảng dung sai (hai mặt) với độ tin cậy 95% và độ bao phủ 90%. (Để rõ ràng, độ tin cậy 95% ngụ ý rằng nếu bạn lặp lại quy trình này nhiều lần, 95% khoảng thời gian được sản xuất sẽ có ít nhất 90% dân số.) Tất nhiên, chúng tôi thường muốn [ l , u ] hẹp như có thể trong khi vẫn đáp ứng yêu cầu của chúng tôi.

Tôi đã thấy các phương pháp không tham số khác nhau để xây dựng các khoảng dung sai cho các biến ngẫu nhiên liên tục. Tôi cũng đã thấy các phương pháp để xây dựng các khoảng dung sai cho các biến nhị thức và Poisson. (Gói R tolerancethực hiện một số phương thức này; Young, 2010) Nhưng còn các biến rời rạc khi phân phối không xác định thì sao? Đây thường là trường hợp đối với các thang đánh giá như trong ví dụ của tôi và giả sử phân phối nhị thức có vẻ không an toàn vì dữ liệu theo thang đánh giá thực thường thể hiện sự kỳ lạ như đa phương thức.

Nó sẽ có ý nghĩa để quay trở lại các phương pháp không tham số cho các biến liên tục? Ngoài ra, điều gì về một phương pháp Monte Carlo như tạo ra 1.000 bản sao bootstrap của mẫu và tìm một khoảng thời gian thu được ít nhất 90% mẫu trong ít nhất 950 bản sao?

Trẻ, DS (2010). dung sai: Một gói R để ước tính khoảng dung sai. Tạp chí phần mềm thống kê, 36 (5), 1 trận39. Lấy từ http://www.jstatsoft.org/v36/i05


bạn có nghĩa là nhị thức hay đa thức? đa phương thức sẽ cho phép hành vi đa phương thức?
seanv507

Tôi có nghĩa là nhị thức. Ví dụ, trong trường hợp thang đánh giá, bạn sẽ đặt số lượng thử nghiệm Bernoulli thành số điểm tỷ lệ. Khoảng thời gian trên các danh mục của một phân phối đa quốc gia sẽ không có ý nghĩa nhiều, tôi nghĩ, vì các danh mục không có thứ tự.
Kodiologist

@Kodiologist biến kết quả của bạn là "thang đo rời rạc từ 1 đến 10" nhưng điều đó có nghĩa là đó một phản ứng đa phương thức có trật tự. (Hoặc tôi không nhận được một cái gì đó?)
Jim

@Jim "Đa quốc gia được đặt hàng" là một chút của oxymoron. Trong một phân phối đa thức, thứ tự của các danh mục là tùy ý.
Kodiologist

Câu trả lời:


1

p1,p2,...,p10

90%

p     = [p1, ..., p10] # empirical proportions summing to 1
l     = 1
u     = length(p)
cover = 0.9

pmass = sum(p)

while (pmass - p[l] >= cover) OR (pmass - p[u] >= cover)
    if p[l] <= p[u]
       pmass = pmass - p[l]
       l     = l + 1  
    else # p[l] > p[u]
       pmass = pmass - p[u]
       u     = u - 1
    end        
end

l,u

Cách tiếp cận thứ hai: trực tiếp "tìm kiếm bootstrap"

Dưới đây tôi cung cấp mã Matlab có thể chạy để tiếp cận câu hỏi trực tiếp từ phối cảnh bootstrap (mã không được tối ưu hóa vector).

%% set DGP parameters:
p = [0.35, 0.8, 3.5, 2.2, 0.3, 2.9, 4.3, 2.1, 0.4, 0.2];
p = p./sum(p); % true probabilities

ncat = numel(p);
cats = 1:ncat;

% draw a sample:
rng(1703) % set seed
nsamp = 10^3; 
samp  = datasample(1:10, nsamp, 'Weights', p, 'Replace', true);

Kiểm tra xem điều này có ý nghĩa.

psamp = mean(bsxfun(@eq, samp', cats)); % sample probabilities
bar([p(:), psamp(:)])

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

Chạy mô phỏng bootstrap.

%% bootstrap simulation:
rng(240947)

nboots = 2*10^3;
cover  = 0.9;
conf   = 0.95;    

tic
Pmat = nan(nboots, ncat, ncat);
for b = 1:nboots

    boot  = datasample(samp, nsamp, 'Replace', true); % draw bootstrap sample    
    pboot = mean(bsxfun(@eq, boot', cats));      

    for l = 1:ncat
        for u = l:ncat
            Pmat(b, l, u) = sum(pboot(l:u));   
        end
    end

end
toc % Elapsed time is 0.442703 seconds.

[l,u]90%

conf_mat = squeeze(mean(Pmat >= cover, 1))

     0         0         0         0         0         0         0    1.0000    1.0000    1.0000
     0         0         0         0         0         0         0    1.0000    1.0000    1.0000
     0         0         0         0         0         0         0    0.3360    0.9770    1.0000
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0

Chọn những người đáp ứng desideratum tự tin.

[L, U] = find(conf_mat >= conf);
[L, U]

 1     8
 2     8
 1     9
 2     9
 3     9
 1    10
 2    10
 3    10

Tự thuyết phục rằng phương pháp bootstrap trên là hợp lệ

Các mẫu Bootstrap được dự định là độc lập cho một cái gì đó chúng tôi muốn có, nhưng không, tức là: mới, độc lập rút ra từ dân số cơ bản thực sự (ngắn: dữ liệu mới).

Trong ví dụ mà tôi đã đưa ra, chúng tôi biết quy trình tạo dữ liệu (DGP), do đó chúng tôi có thể "gian lận" và thay thế các dòng mã liên quan đến các mẫu lại bootstrap bằng các bản vẽ mới, độc lập từ DGP thực tế.

newsamp = datasample(cats, nsamp, 'Weights', p, 'Replace', true);
pnew    = mean(bsxfun(@eq, newsamp', cats));

Sau đó, chúng ta có thể xác nhận cách tiếp cận bootstrap bằng cách so sánh nó với lý tưởng. Dưới đây là kết quả.

Ma trận độ tin cậy từ dữ liệu mới, độc lập rút ra:

     0         0         0         0         0         0         0    1.0000    1.0000    1.0000
     0         0         0         0         0         0         0    1.0000    1.0000    1.0000
     0         0         0         0         0         0         0    0.4075    0.9925    1.0000
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0         0

95%

 1     8
 2     8
 1     9
 2     9
 3     9
 1    10
 2    10
 3    10

Chúng tôi thấy rằng các ma trận độ tin cậy đồng ý chặt chẽ và các giới hạn là giống hệt nhau ... Do đó xác nhận cách tiếp cận bootstrap.


2
Khoảng dung sai và khoảng tin cậy là những thứ khác nhau. Trên thực tế, những gì bạn đã mô tả không phải là khoảng tin cậy mà là khoảng dự đoán, đây là một loại khoảng khác biệt.
Chuyên gia Kodi

1
Chỉnh sửa của bạn dường như là một triển khai của những gì tôi muốn nói khi tôi viết "một phương pháp Monte Carlo như tạo ra 1.000 bản sao bootstrap của mẫu và tìm một khoảng thời gian thu được ít nhất 90% mẫu trong ít nhất 950 bản sao". Mặc dù trực quan, tôi không chắc điều này thực sự hoạt động hay có ý nghĩa, đó là lý do tại sao tôi tạo ra câu hỏi này.
Kodiologist

@Kodiologist Câu trả lời bây giờ có một phần xác nhận cách tiếp cận bootstrap. Tất nhiên, điều này có thể được thực hiện thêm, ví dụ, được lồng trong các vòng lặp trên kích thước mẫu và xác suất lớp.
Jim

Cho thấy phương thức bootstrap là chính xác cho vấn đề này trong toàn bộ khái quát của nó có nghĩa là cho thấy rằng nó có độ tin cậy và mức độ phù hợp bất kể phân phối tham số trước đó (rốt cuộc, đó là phương pháp thường xuyên). Đối với điều đó, tôi nghĩ rằng, mô phỏng sẽ không đủ; bạn sẽ cần bằng chứng toán học. Nhưng bạn đã rất kiên trì và cho thấy rằng bootstrap đôi khi hoạt động, vì vậy bạn xứng đáng nhận được điểm A cho nỗ lực.
Kodiologist
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.