Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用Python(Statsmodels)编写线性混合效果模型的公式?_Python_Statsmodels_Mixed Models_Longitudinal_Patsy - Fatal编程技术网

如何用Python(Statsmodels)编写线性混合效果模型的公式?

如何用Python(Statsmodels)编写线性混合效果模型的公式?,python,statsmodels,mixed-models,longitudinal,patsy,Python,Statsmodels,Mixed Models,Longitudinal,Patsy,请容忍我,因为我对这一级别的统计数据和Python还不熟悉。我已经阅读了statsmodels和patsy的所有文件,但仍然有疑问 我试图使用statsmodels MixedLM分析纵向数据。简化一点,我有5个变量,自变量之间没有共线: 结果:因变量 患者:随机效应,因为每个患者都有多个结果测量值 时间:固定效应 目标:固定效应,0=否,1=是,无论患者是否有针对性地进行干预以解决结果 性别:固定效应,0=男性,1=女性 我想知道两件事: 患者是否成为目标与随时间变化的结果趋势之间是否存在

请容忍我,因为我对这一级别的统计数据和Python还不熟悉。我已经阅读了statsmodels和patsy的所有文件,但仍然有疑问

我试图使用statsmodels MixedLM分析纵向数据。简化一点,我有5个变量,自变量之间没有共线:

  • 结果:因变量
  • 患者:随机效应,因为每个患者都有多个结果测量值
  • 时间:固定效应
  • 目标:固定效应,0=否,1=是,无论患者是否有针对性地进行干预以解决结果
  • 性别:固定效应,0=男性,1=女性
我想知道两件事:

  • 患者是否成为目标与随时间变化的结果趋势之间是否存在关联
  • 随着时间的推移,患者性别和结果趋势之间是否存在关联,仅针对目标人群
  • 也许很重要:我并不是在试图做出任何预测。准确地解释一下我已经掌握的数据

    为了回答第一个问题,我试着:

    md = smf.mixedlm('outcome ~ time * targeted', df, groups = df['patient'])
    
    这个符号正确吗?或者我应该使用:

    md = smf.mixedlm('outcome ~ time : targeted', df, groups = df['patient'])
    
    为了更好地比较结果趋势的差异?还是别的什么

    为了回答第二个问题,我试着:

    md = smf.mixedlm('outcome ~ time * targeted * sex', df, groups = df['patient'])
    
    但我不认为这是正确的,因为系数没有意义。有针对性的患者需要有>6的起始结果,但针对性的系数:性别<6。一种解决方案是制作一个单独的数据帧,只包括目标患者,但我很好奇,这里是否有我可以使用不同的操作符来获得我想要的


    谢谢大家!

    您是否手动将截取术语添加到您的模型中?我认为这是必要的statsmodel@Peter我肯定是错的,但我认为MixedLM默认包含一个截取,我一直将其解释为非目标群体(第二个问题中的男性)在时间0时的结果。不过,如果你是这个意思的话,我没有添加随机截距。嗨@EMG,如果你对贝叶斯统计持开放态度,你可以试试Bambi。它允许您使用公式接口完全指定混合模型,而不必使用其他参数。您是否已手动将截取项添加到模型中?我认为这是必要的statsmodel@Peter我肯定是错的,但我认为MixedLM默认包含一个截取,我一直将其解释为非目标群体(第二个问题中的男性)在时间0时的结果。不过,如果你是这个意思的话,我没有添加随机截距。嗨@EMG,如果你对贝叶斯统计持开放态度,你可以试试Bambi。它允许您使用公式接口完全指定混合模型,而不必使用其他参数。