Регулювання р-значення для адаптивного послідовного аналізу (для квадратного тесту чі)?


12

Я хотів би знати, яка статистична література є актуальною для наступної проблеми, і, можливо, навіть ідея, як її вирішити.

Уявіть таку проблему:

У нас є 4 можливі методи лікування якогось захворювання. Для того, щоб перевірити, яке лікування краще, ми проводимо спеціальне випробування. У судовому процесі ми починаємо з відсутності суб'єктів, потім, один за одним, більше випробовуваних вводиться до судового розгляду. Кожному пацієнту довільно виділяється одне з 4 можливих методів лікування. Кінцевий результат лікування - або "здоровий", або "ще хворий", і скажемо, що ми можемо знати цей результат миттєво. Це означає, що в будь-який момент ми можемо створити таблицю на випадок двох на чотири випадки, сказавши, скільки наших піддослідних потрапило в яке лікування / кінцевий результат.

У будь-якій точці ми можемо перевірити таблицю дій на випадок надзвичайних ситуацій (наприклад, за допомогою тесту чи-ква), щоб побачити, чи існує статистично інше лікування між 4 можливими методами лікування. Якщо один з них кращий, то всі інші - ми припиняємо випробування і обираємо його як "переможця". Якщо деяке випробування виявиться гіршим, ніж усі інші три, ми відкинемо його з судового розгляду і перестанемо його надавати майбутнім пацієнтам.

Однак тут проблема полягає в тому, як я відрегулюю p-значення на те, що тест можна виконати в будь-якій точці, що існує кореляція між тестами, а також те, що адаптивний характер процесу маніпулює процесом (для Наприклад, якщо якесь лікування виявляється "поганим")?


2
Уолд придумав свій послідовний тест на коефіцієнт ймовірності (SPRT), щоб створити правило зупинки, кількість предметів, про які потрібно мати докази проти нуля. Дивіться моє пояснення тут: stats.stackexchange.com/a/16120/401 Хоча це лише тестує одну гіпотезу. Але, коли ви пропонуєте тест хі-квадрата, це лише одна гіпотеза (всі методи лікування однаково ефективні). Здається, ви можете скорегувати "первинне" значення p в моєму дописі для багаторазового тестування та зробити кілька тестів. Мені доведеться подумати більше про те, як включити зміни набору методів лікування.
Чарлі

1
Я просто хочу зазначити, що існує варіант під назвою "Груповий послідовний аналіз", який стосується більш ніж одного параметра. Книга клінічної статистики: введення клінічних випробувань, аналіз виживання та поздовжній аналіз даних може допомогти за різними джерелами, але я ніколи не читайте особисто.
steffen

1
Я не можу підкреслити, наскільки це питання цікаве. Вирішивши це, ви також
дасте

1
Книга Послідовні методики із застосуванням до клінічних випробувань Дженнісона та Тернбулла охоплює багато таких послідовних пробних проектів. Я не пам’ятаю, чи охоплюється конструкція з чотирма процедурами (але, мабуть, це просто логістична модель регресії з трьома фіктивними змінними), але це приємна книга, і дуже добре читати, якщо вас цікавлять подібні проблеми . (І @steffen, то / B-тест A (тобто, простий біном проблема) буде покритий в книзі.)
Карл Уве Hufthammer

Відповіді:


2

Ця область послідовних клінічних випробувань була досліджена істотно в літературі. Деякі з помітних дослідників - Скотт Емерсон, Том Флеммінг, Девід Демец, Стівен Сенн та Стюарт Покок.

Можна вказати "правило витрачання альфа". Цей термін має характер частістських (не-рибальських) тестувань, коли кожна дія, що збільшує ризик помилкової позитивної знахідки, повинна обов'язково знижувати потужність для збереження тесту правильного розміру. Однак більшість таких тестів вимагають, щоб "правила зупинки" були визначені на основі інформаційних меж дослідження. (Нагадування, більше інформації означає більшу потужність, коли нуль помилковий).

Це звучить як те, що вас цікавить, - це постійний процес моніторингу, в якому кожен час події вимагає «заглянути» в дані. Наскільки мені відомо, таке випробування не має сили. Це можна зробити за допомогою байєсівського аналізу, коли задній відділ постійно оновлюється як функція часу, а фактори Байєса використовуються для узагальнення доказів, а не значень.p

Побачити

[1] www.rctdesign.org/


+1. Я розмістив ще одну відповідь, де використовую моделювання для обчислення частоти помилок типу II запропонованої процедури. Це дозволяє вибрати номінальну альфа таку, щоб тест мав правильний розмір. Цікаво, що ти думаєш про це.
амеба каже, що повернеться до Моніки

1

Це звучить як моделювання в порядку.

Тому я моделював вашу процедуру так: людей додаються до випробування по одному, випадковим чином віднесені до однієї з груп. Результат лікування для цієї людини вибирається випадковим чином (тобто я моделюю нульову гіпотезу всіх методів лікування, що мають нульовий ефект). Додавши кожну особу, я виконую тест на квадрат чі в таблиці випадок та перевіряю, чи . Якщо це так, то (і лише тоді) я додатково виконую тести на квадратних чі на зменшених таблицях на випадок на випадок, щоб перевірити кожну групу проти інших трьох груп, об'єднаних разом. Якщо один із цих наступних чотирьох тестів виявиться значущим (з тим самимN=100044×2pα2×2α), то я перевіряю, чи це лікування краще чи гірше, ніж інші три об'єднані разом. Якщо ще гірше, я починаю це лікування і продовжую додавати людей. Якщо краще, я припиняю судовий процес. Якщо всіх людей додають без виграшного лікування, випробування закінчено (зауважте, що результати мого аналізу будуть сильно залежати від ).NN

Тепер ми можемо це зробити багато разів і дізнатися, у якій частині пробіжок один з процедур виходить переможцем - це були б помилкові позитиви. Якщо я запускаю його 1000 разів для номінального , я отримую 282 помилкових позитивних результатів, тобто коефіцієнт помилок типу типу II.α=0.050.28

Ми можемо повторити весь цей аналіз для кількох номінальних і побачити, який фактичний показник помилок ми отримуємо: Отже, якщо ви хочете, щоб фактичний показник помилок відбувся, скажімо, на рівні , слід вибрати номінал приблизно - але, звичайно, краще запустити довше моделювання, щоб точніше оцінити це.α

αerror rate0.050.280.010.060.0010.008
0.05α0.008

Мій швидкий і брудний код у Matlab знаходиться нижче. Зверніть увагу, що цей код загинув мозку і зовсім не оптимізований; все працює в петлях і жахливо повільно. Напевно, це може бути значно прискорене.

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.