Điều chỉnh giá trị p để phân tích tuần tự thích ứng (đối với phép thử chi bình phương)?


12

Tôi muốn biết những gì tài liệu thống kê có liên quan đến vấn đề sau đây, và thậm chí có thể là một ý tưởng về cách giải quyết nó.

Hãy tưởng tượng vấn đề sau:

Chúng tôi có 4 phương pháp điều trị có thể cho một số bệnh. Để kiểm tra xem điều trị nào tốt hơn, chúng tôi thực hiện một thử nghiệm đặc biệt. Trong thử nghiệm, chúng tôi bắt đầu bằng cách không có đối tượng, sau đó, từng đối tượng, nhiều đối tượng được đưa vào thử nghiệm. Mỗi bệnh nhân được phân bổ ngẫu nhiên vào một trong 4 phương pháp điều trị có thể. Kết quả cuối cùng của một điều trị là "khỏe mạnh" hoặc "vẫn còn bệnh" và hãy để chúng tôi nói rằng chúng tôi có thể biết kết quả này ngay lập tức. Điều này có nghĩa là tại bất kỳ thời điểm nào, chúng ta có thể tạo hai trong bốn bảng dự phòng, cho biết có bao nhiêu đối tượng của chúng ta rơi vào điều trị / kết quả cuối cùng.

Tại bất kỳ thời điểm nào, chúng tôi có thể kiểm tra bảng dự phòng (ví dụ: sử dụng kiểm tra chi bình phương), để xem liệu có một phương pháp điều trị khác nhau về mặt thống kê giữa 4 phương pháp điều trị có thể. Nếu một trong số họ tốt hơn thì tất cả những người còn lại - chúng tôi dừng thử nghiệm và chọn nó là "người chiến thắng". Nếu một số thử nghiệm được chứng minh là tồi tệ hơn thì cả ba thử nghiệm còn lại, chúng tôi sẽ thả anh ta khỏi thử nghiệm và ngừng đưa nó cho các bệnh nhân tương lai.

Tuy nhiên, vấn đề ở đây là làm cách nào để điều chỉnh giá trị p cho thực tế rằng thử nghiệm có thể được thực hiện tại bất kỳ điểm nào, có mối tương quan giữa các thử nghiệm và tính chất thích nghi của quy trình thao túng quy trình (đối với ví dụ, nếu một số điều trị được phát hiện là "xấu")?


2
Wald đã đưa ra thử nghiệm tỷ lệ xác suất tuần tự (SPRT) của mình để tạo quy tắc dừng, số lượng đối tượng mà bạn cần phải có bằng chứng chống lại null. Xem giải thích của tôi ở đây: stats.stackexchange.com/a/16120/401 Điều này chỉ kiểm tra một giả thuyết duy nhất, mặc dù. Nhưng, khi bạn đề xuất một thử nghiệm chi bình phương, đó chỉ là một giả thuyết duy nhất (tất cả các phương pháp điều trị đều có hiệu quả như nhau). Có vẻ như bạn có thể điều chỉnh giá trị p "chính" trong bài đăng của tôi để thử nghiệm nhiều lần và thực hiện một số thử nghiệm. Tôi sẽ phải suy nghĩ nhiều hơn về cách kết hợp thay đổi tập hợp các phương pháp điều trị.
Charlie

1
Tôi chỉ muốn lưu ý rằng có một biến thể gọi là "Phân tích tuần tự nhóm" liên quan đến nhiều hơn một tham số. Cuốn sách Thống kê lâm sàng: Giới thiệu các thử nghiệm lâm sàng, Phân tích sinh tồn và Phân tích dữ liệu theo chiều dọc có thể giúp theo nhiều nguồn khác nhau, nhưng tôi chưa bao giờ đọc nó cá nhân
steffen

1
Tôi không thể nhấn mạnh câu hỏi này thú vị như thế nào. Việc giải quyết nó cũng sẽ trả lời rất nhiều câu hỏi liên quan đến các bài kiểm tra ab (cùng một nhiệm vụ, nhưng chi phí lỗi thấp hơn một cách lố bịch)
steffen 2/212

1
Cuốn sách Phương pháp tuần tự nhóm với các ứng dụng cho các thử nghiệm lâm sàng của Jennison và Turnbull bao gồm nhiều thiết kế thử nghiệm tuần tự như vậy. Tôi không nhớ nếu thiết kế bốn điều trị được bảo hiểm (nhưng tôi đoán đây chỉ là mô hình hồi quy logistic với ba biến giả), nhưng đó là một cuốn sách hay và rất đáng đọc nếu bạn quan tâm đến các vấn đề như thế này . (Và @steffen, bài kiểm tra A / B (nghĩa là bài toán nhị thức đơn giản) được đề cập trong cuốn sách.)
Karl Ove Hufthammer

Câu trả lời:


2

Khu vực thử nghiệm lâm sàng tuần tự này đã được khám phá đáng kể trong tài liệu. Một số nhà nghiên cứu đáng chú ý là Scott Emerson, Tom Flemming, David DeMets, Stephen Senn và Stuart Pocock trong số những người khác.

Có thể chỉ định "quy tắc chi tiêu alpha". Thuật ngữ này có nguồn gốc từ bản chất của thử nghiệm thường xuyên (không phải Ngư dân) trong đó, mỗi hành động làm tăng nguy cơ phát hiện dương tính giả nên nhất thiết phải giảm sức mạnh để giữ cho thử nghiệm có kích thước chính xác. Tuy nhiên, phần lớn các thử nghiệm như vậy yêu cầu "quy tắc dừng" được quy định trước dựa trên giới hạn thông tin của nghiên cứu. (như một lời nhắc nhở, nhiều thông tin hơn có nghĩa là sức mạnh lớn hơn khi null là sai).

p

Xem

[1] www.rctdesign.org/


+1. Tôi đã đăng một câu trả lời khác trong đó tôi sử dụng một mô phỏng để tính tỷ lệ lỗi loại II của quy trình được đề xuất. Điều này cho phép chọn một alpha danh nghĩa sao cho phép thử có kích thước chính xác. Tôi tự hỏi bạn nghĩ gì về nó.
amip nói rằng Phục hồi lại

1

Điều này nghe có vẻ như một mô phỏng theo thứ tự.

N=100044×2pα2×2αNN

Bây giờ chúng ta có thể chạy điều này nhiều lần và tìm ra phần nào trong số các lần điều trị được đưa ra như một người chiến thắng - đây sẽ là những kết quả dương tính giả. Nếu tôi chạy nó 1000 lần cho danh nghĩaα=0.050.28

α

αerror rate0.050.280.010.060.0010.008
0.05α0.008

Mã nhanh và bẩn của tôi trong Matlab bên dưới. Xin lưu ý rằng mã này đã chết não và hoàn toàn không được tối ưu hóa; tất cả mọi thứ chạy trong vòng lặp và chậm kinh khủng. Điều này có lẽ có thể được tăng tốc rất nhiều.

function seqAnalysis()
    alphas = [0.001 0.01 0.05];
    for a = 1:length(alphas)
        falsePositives(a) = trials_run(1000, 1000, alphas(a));
    end
    display(num2str([alphas; falsePositives]))
end

function outcome = trials_run(Nrep, N, alpha)
    outcomes = zeros(1,Nrep);
    for rep = 1:Nrep
        if mod(rep,10) == 0
            fprintf('.')            
        end
        outcomes(rep) = trial(N, alpha);
    end
    fprintf('\n')
    outcome = sum(outcomes);
end


function result = trial(N, alpha)
    outcomes = zeros(2,4);

    result = 0;
    winner = [];

    %// adding subjects one by one
    for subject = 1:N
        group = randi(size(outcomes,2));
        outcome = randi(2);    
        outcomes(outcome, group) = outcomes(outcome, group) + 1;

        %// if groups are significantly different
        if chisqtest(outcomes) < alpha
            %// compare each treatment against the rest
            for group = 1:size(outcomes,2)
                contrast = [outcomes(:, group) ...
                            sum(outcomes(:, setdiff(1:size(outcomes,2), group)),2)];
                %// if significantly different
                if chisqtest(contrast) < alpha
                    %// check if better or worse
                    if contrast(1,1)/contrast(2,1) < contrast(1,2)/contrast(2,2)
                        %// kick out this group
                        outcomes = outcomes(:, setdiff(1:size(outcomes,2), group));
                    else
                        %// winner!
                        winner = group;
                    end
                    break
                end
            end
        end

        if ~isempty(winner)
            result = 1;    
            break
        end
    end
end

function p = chisqtest(x)
    e = sum(x,2)*sum(x)/sum(x(:));
    X2 = (x-e).^2./e;
    X2 = sum(X2(:));
    df = prod(size(x)-[1 1]);
    p = 1-chi2cdf(X2,df);
end
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.