Степени свободы в SAS, SPSS, PhoenixWinNonlin для репликативного дизайна биоэквивалентности – сравнение

Ранее уже писал, что есть некоторое несоответствие SPSS и SAS по расчетам степеней свободы. Не могу точно сказать – какие причины приводят к различиям, но они есть. Для иллюстрации можно рассмотреть доступный датасет, который входит в состав Phoenix WinNonlin RAEBE Template – Example Data EMA 618604 2008 Rev 7.xls

Выполним код SAS для этого датасета:

1
2
3
4
5
6
7
8
9
10
11
12
proc import datafile="/folders/myfolders/DataEMARev7FR.csv"  out=pkdata dbms=csv replace;
delimiter=';';
getnames=yes;
run;

PROC MIXED data=pkdata;
CLASSES Seq Subject Period Formulation;
MODEL  logData = Seq Period Formulation/ DDFM=SATTERTH;
RANDOM  Formulation/TYPE=FA0(2) SUB=Subject G;
REPEATED/GRP=Formulation SUB=Subject;
ESTIMATE 'T vs. R' Formulation -1 1/CL ALPHA=0.1;
RUN;

Результат:
Результат SAS

SAS:
DF – 208
Diff – 0.1455
SE – 0.04650
После простого вычисления интервалов получается: 107.1040 – 124.8946 (округляем до 4го знака).

Теперь меняем TYPE=FA0(2) -> TYPE=CHS и ничего не меняется – результаты эквивалентны. Можем ли мы надеяться на то, что SPSS даст нам те же результаты?

Выполняем код:

1
2
3
4
5
6
7
8
MIXED logData BY Period Formulation Sequence Subject
  /CRITERIA=CIN(90) MXITER(200) MXSTEP(20) SCORING(2) SINGULAR(0.000000000001) HCONVERGE(0,
    RELATIVE) LCONVERGE(0.0000000000001, RELATIVE) PCONVERGE(0, RELATIVE)
  /FIXED=Period Formulation Sequence | SSTYPE(3)
  /METHOD=REML
  /RANDOM=Formulation | SUBJECT(Subject) COVTYPE(CSH)
  /REPEATED=Formulation | SUBJECT(Subject*Period) COVTYPE(DIAG)
  /EMMEANS=TABLES(Formulation) COMPARE REFCAT(FIRST) ADJ(LSD).

Результат:

Результат SPSS

SPSS:
DF – 209.53 (округление до 2го знака)
Diff – 0.1455 (округление до 4го знака)
SE – 0.04650 (округление до 5го знака)
Ожидаемо интервалы различаются: 107.1047 – 124.8936

Теперь для Phoenix WinNonlin 8.0 FA0(2):
DF – 207.73 (округление до 2го знака)
Diff – 0.1455
SE – 0.04650
Интервалы: 107.1044 – 124.8939

И теперь для Phoenix WinNonlin 8.0 CSH – Heterogeneous Compound Symmetry:
DF – 75.53 (округление до 2го знака)
Diff – 0.1455
SE – 0.04643
Интервалы: 107.0517 – 124.9536

Проанализируем дополнительный набор с отсутствующими данными:

SAS FA0(2):
Diff -0.07538
SE 0.05573
DF 62.0826348
CI 84.4983 – 101.7831

SAS CHS:
Diff -0.07538
SE 0.05573 (0.05573074)
DF 62.08 (62.0824483)
CI 84.4983 – 101.7831

SPSS:
Diff -0.07538
SE 0.05573 (0.05573074)
DF 62.13978
CI 84.4983 – 101.7831 (тут различия минимальны и нивелированы округлением, но DF – разные)

Phoenix WinNonlin FA0(2):
Diff -0.075382514
SE 0.055730743
DF 62.082447 (!!!)

Phoenix WinNonlin CHS:
Diff -0.073627276
SE 0.046961011
DF 21.428808
CI 85.696293 – 100.71314

Выводы: на референсном датасете в SAS нет различия между FA0(2) и CHS, напротив Phoenix WinNonlin показывает различие не только по степеням свободы, но и по Diff и SE. DF – различается у всех программ по референсному датасету. По датасету с пропущенными данными различие в DF у Phoenix WinNonlin и SAS в 8-м знаке (т.е. они практически эквивалентны, но только на этом датасете). SPSS показывает идентичные Diff и SE, но отличается по DF. Все датасеты вызывают “Estimated G matrix is not positive definite.” в SAS и “Финальная матрица Гессе не является положительно определенной, хотя все критерии сходимости удовлетворены. Процедура MIXED продолжает работу, несмотря на данное предупреждение. Достоверность последующих результатов установить невозможно.”- SPSS. Предупреждение SPSS выглядит более строго. Phoenix вообще никак не реагирует. На датасетах с положительным гессианом таких особенностей нет.
И что? – Нет ответа. Вероятно стоит учесть, что такие различия есть. И что CHS Phoenix != CHS SAS.

Файлы:
Example Data EMA 618604 2008 Rev 7.xls
SPSS.phxproj – Phonix WinNonlin проект с импортированными дтасетами
VAR24Missing.csv
var24Missing.sav