精华内容
下载资源
问答
  • transfer dense121迁移学习模型模板参数不变只训练classifier这一层的参数 ,迁移学习的一个案例模板
  • 解决了5参数模型系列。 在本文中,我们使用表示理论方法来求解一般的13参数高斯模型,该模型可被视为零维量子场论。 我们用表示理论参数来表示动作中的两个线性和十一个二次项。 根据矩阵变量的适当线性组合,这些...
  • # Freeze parameters so we don't backprop through them #print("model.parameters()=",type(model.parameters())) import torch from torch import nn from torch import optim import torch.nn.functional as F ...

    # Freeze parameters so we don't backprop through them
    #print("model.parameters()=",type(model.parameters()))

    import torch
    from torch import nn
    from torch import optim
    import torch.nn.functional as F
    from torchvision import datasets, transforms, models
    %matplotlib inline
    %config InlineBackend.figure_format = 'retina'
    import matplotlib.pyplot as plt
    import helper
    from collections import OrderedDict


    data_dir = 'Cat_Dog_data'

    # TODO: Define transforms for the training data and testing data
    train_transforms = transforms.Compose([transforms.RandomRotation(30),
                                           transforms.RandomResizedCrop(224),                                     
                                           transforms.RandomHorizontalFlip(),
                                           transforms.ToTensor(),
                                           transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))                                      
                                          ])

    test_transforms = transforms.Compose([transforms.RandomRotation(30),
                                           transforms.RandomResizedCrop(224),                                       
                                           transforms.RandomHorizontalFlip(),
                                           transforms.ToTensor(),
                                           transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))                                      
                                          ])

    # Pass transforms in here, then run the next cell to see how the transforms look
    train_data = datasets.ImageFolder(data_dir + '/train', transform=train_transforms)
    test_data = datasets.ImageFolder(data_dir + '/test', transform=test_transforms)

    trainloader = torch.utils.data.DataLoader(train_data, batch_size=64, shuffle=True)
    testloader = torch.utils.data.DataLoader(test_data, batch_size=64)

    epoches =1
    every=70
    steps=0

    tr_losses = []
    te_losses = []
    test_accu=0
    train_loss=0
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu") #选什么设备
    model = models.densenet121(pretrained=True)
    for param in model.parameters():
        param.requires_grad = False

    from collections import OrderedDict
    classifier = nn.Sequential(OrderedDict([
                              ('fc1', nn.Linear(1024, 500)),
                              ('relu', nn.ReLU()),
                              ('fc2', nn.Linear(500, 2)),
                              ('output', nn.LogSoftmax(dim=1))
                              ]))
        
    model.classifier = classifier
    criterion = nn.NLLLoss()
    opti = optim.Adam(model.classifier.parameters(),lr=0.001)
    model.to(device)

    for e in range(epoches):

        print("trainloader.len=",len(trainloader))
        for inputs,labels in trainloader:

            opti.zero_grad()
            inputs,labels = inputs.to(device),labels.to(device)
            steps+=1
            #print("inputs.shape=",inputs.shape)
            #imgs = imgs.view(inputs.shape[0],-1)
            ps = model.forward(inputs)

           
            loss = criterion(ps,labels)
            train_loss+=loss
            tr_losses.append(loss)
            loss.backward()
            opti.step()
            
            if steps%every==0:
                test_loss=0
                test_accu=0
                model.eval()
                with torch.no_grad():
                    for imgs2 ,lb2 in testloader:
                        imgs2,lb2=imgs2.to(device),lb2.to(device)
                        #imgs2 = imgs2.view(imgs2.shape[0],-1)
                        ps2=model.forward(imgs2)

                       
                        loss2 = criterion(ps2,lb2)
                        te_losses.append(loss2)
                        test_loss+=loss2

                        ps2 = torch.exp(ps2)#为了计算准确率
                        t_p,t_c = ps2.topk(1,dim=1)
                        equals = t_c==lb2.view(t_c.shape)
                        test_accu = torch.mean(equals.type(torch.FloatTensor))
                model.train()
                print("accur={}".format(test_accu),"train_loss={}".format(train_loss/every),"test_loss={}".format(test_loss/len(testloader)))               
                train_loss=0
    print("######################################观察训练与校验损失函数走向便于确定过拟合位置")
    plt.plot(tr_losses, label='Training loss')
    plt.plot(te_losses, label='Validation loss')
    plt.legend(frameon=False)     

    https://classroom.udacity.com/nanodegrees/nd009-cn-advanced/parts/5f4d630c-d15a-412c-aaeb-b57ad61cd03c/modules/3aa9e812-62cd-4ae3-8fc4-593538f08455/lessons/9b014a97-2267-4f1b-af97-284b7dac2a58/concepts/572cd59e-540f-43d9-906f-33d22a4452a6

    展开全文
  • 等效性检验——结构方程模型评价和测量不变性分析的新视角[J/OL].心理科学进展:1-9[2020-09-23].http://kns.cnki.net/kcms/detail/11.4766.R.20200922.1327.016.html.等效性检验——结构方程模型评价和测量不变性...

    推文信息

    王阳,温忠麟,付媛姝.等效性检验——结构方程模型评价和测量不变性分析的新视角[J/OL].心理科学进展:1-9[2020-09-23].http://kns.cnki.net/kcms/detail/11.4766.R.20200922.1327.016.html.

    等效性检验——结构方程模型评价和测量不变性分析的新视角

    摘    要:

    常用的结构方程模型拟合指数存在一定局限,如χ2以传统零假设为目标假设,无法验证模型,而RMSEA和CFI等描述性的拟合指数不具备推断统计性质,等效性检验有效弥补了这些问题。首先说明等效性检验如何评价单个模型的拟合,并解释其与零假设检验的不同,然后介绍等效性检验如何分析测量不变性,接着用实证数据展示了等效性检验在单个模型评价和测量不变性检验中的效果,并与传统模型评价方法比较。

    关键词:

    结构方程模型; 拟合指数; 等效性检验; 零假设检验; 测量不变性;

    1 引言

    在心理学、管理学等社会科学研究领域,结构方程模型(Structural Equation Model,SEM)是一种重要的统计工具,它能够更好地控制测量误差,并同时构建复杂的多变量模型,从而帮助研究者获得比一般回归分析更加准确的分析结果。结构方程建模的一个关键步骤是评价模型拟合,因为对模型有关参数的估计要以良好模型拟合为前提。如果模型拟合不佳,即理论模型为误设模型,则建立在此模型之上的参数估计(如因子载荷、路径系数及基于模型的信度指标等)结果都是不可靠的。

    尽管模型拟合至关重要,但当前通用的模型拟合评价标准尚存一些不足。已有的模型拟合指数可分两类(Marcoulides&Yuan,2017)。一类是描述性的,最常用的是RMSEA和CFI (Lai,2020)。很多研究者通过简单报告RMSEA和CFI估计值并将其与一个经验临界值比较来支持他们的模型。这个过程不涉及显著性检验,就不知道推断错误的概率,因此很难确定怎样的拟合指数才是可以接受的(McNeish et al.,2018);另一类是推断性的,如χ2检验和χ2差值检验(用于嵌套模型比较和测量不变性检验),可以通过显著性检验来评价模型拟合好坏。然而,χ2存在很多问题。通常的统计检验都是将想要验证的假设作为备择假设,若统计显著,拒绝零假设接受备择假设时知道犯错误(即第一类错误)的概率(即显著性水平),但模型拟合χ2检验却将想要验证的假设作为零假设,统计不显著接受零假设时犯错误(即第二类错误)的概率通常都比较大,而且还不知道有多大,χ2检验无法真正起到验证模型的作用。

    为改善上述模型拟合评价标准的不足,研究者提出将等效性检验(Equivalence Testing,ET)用于结构方程模型评价(Yuan&Chan,2016;Yuan et al.,2016)。该方法一方面修正了χ2检验的问题,另一方面,将推断统计元素融入了CFI和RMSEA,可以用于单个模型拟合评价和测量不变性检验,已经得到了越来越多的关注和应用(如Alpizar,2020;Fu et al.,2018;Swami&Barron,2019;Tóth-Király et al.,2018;Wang et al.,2020)。本文介绍等效性检验如何用于单个模型评价和测量不变性检验,然后进行实例演示,最后对相关问题进行了讨论和拓展。

    2 等效性检验用于评价单个模型拟合

    拟合函数Fml[S,Σ(θ)]是结构方程模型评价的一个重要概念,它代表了样本协方差矩阵S与假设模型隐含的协方差矩阵Σ(θ)的距离。应用研究者也可以简单地理解为S代表实际数据所反映的变量关系,Σ(θ)代表我们假设的变量关系,拟合函数衡量了变量关系在假设模型与实际数据中的差距(吴明隆,2010)。利用特定的算法(如极大似然估计),可以求得一个使拟合函数Fml[S,Σ(θ)]达到最小值的θ估计值,这个拟合函数的最小值用Fml表示。Fml0为Fml对应的总体真值,即Σ(θ)与真模型协方差矩阵Σ的最小距离。在很一般的条件下,随着样本容量增大,Fml收敛于Fml0 (温忠麟等,2012)。对于错误设定的模型,Fml0>0,它的取值反映了误设大小,此时似然比统计量Tml (即前文提到的χ2检验统计量)=(N-1)Fml近似服从一个非中心化的卡方分布χ2(δ),其自由度df=p(p+1)/2-q,p是显变量个数,q是自由参数个数;δ=(N-1)Fml0是非中心参数(Noncentrality Parameter);如果模型正确设定,即Fml0=0,Tml服从一个中心化的卡方分布χ2,δ=0(Yuan et al.,2016)。

    χ2检验的传统零假设为:H0:Fml0=0或者H0:Σ=Σ(θ);而对于等效性检验,零假设变为:H0a:Fml0>ε0 (Yuan et al.,2016)。ε0是一个小正数,代表一个由研究者预先设定的可以容忍的误设程度。等效性检验的零假设也可以用非中心参数表示,即:H0a:δ>δ0,其中δ0=(N-1)ε0。令cα(ε0)为等效性检验的零假设分布χ2(δ0)在α水平(默认取0.05)的左侧临界值,如果Tml

    对于等效性检验,临界点ε0的选择对分析至关重要(Counsell et al.,2020);因此需要有一个选择ε0的标准。为避免选择过于随意、主观,可以通过公式ε0=df(RMSEA0)2把ε0和RMSEA关联起来(Yuan et al.,2016),并选择RMSEA0=0.08作为模型误设可以接受的经验临界值,从而相对客观地确定ε0。类似地,我们也可以通过公式εt=df(RMSEAt)2将εt和RMSEA关联起来,定义一个RMSEAt替代εt的作用,它不仅可以说明模型拟合程度或误设程度大小,且推断犯错误的概率不超过α,从而使RMSEA具备了过去没有的统计推断性质。从Tml=cα(εt)这个方程可知,εt就是Fml0=δ/(N-1)的1-2α置信区间的上限,而RMSEAt是RMSEA的1-2α置信区间的上限(Yuan et al.,2016)。由于RMSEA的90%置信区间是Mplus软件的默认输出结果,在评价单个模型拟合时,我们可以直接在Mplus中读取RMSEA 90%置信区间上限值,就获取了RMSEAt,十分方便。然后将RMSEAt和RMSEA0=0.08相比较,如果RMSEAt不大于0.08,我们可以接受模型,并声明以RMSEA作为模型误设评价指标时,模型误设不超过RMSEAt,这一推断犯错误的概率不超过0.05;如果RMSEAt大于0.08,尽管我们仍可以以95%的置信度声明误设不超过RMSEAt,但因为RMSEAt已经高于经验临界值,无法接受模型。

    3 等效性检验和传统零假设检验的比较

    等效性检验和传统的零假设检验的异同点主要表现在以下几个方面(Yuan&Chan,2016):首先,等效性检验和零假设检验都用Tml作为统计量,但它们的零假设分布和拒绝域都不同,等效性检验的零假设假定模型存在误设(大于ε0),所以对应一个非中心化的卡方分布χ2(δ0),当Tml落在区间[0,cα(ε0)]中时,拒绝零假设,认为模型误设程度可以接受;零假设检验的零假设假定模型误设为0,所以对应一个中心化的卡方分布χ2,当Tml落在区间[c1-α,∞]中时,拒绝零假设,认为模型为误设模型。c1-α是零假设分布χ2在1-α水平的右侧临界值。可见,等效性检验和零假设检验的作用刚好相反,前者适用于接受模型,而后者适用于拒绝模型。

    第二,尽管名义上第一类错误的概率大小都为α,但两种检验的第一类错误的含义不同。对等效性检验而言,第一类错误是指将一个不可接受的模型(即Fml0>ε0)判定为可接受的模型;而对于零假设检验,第一类错误是指将正确设定的模型(即Fml0=0)判定为误设模型(即Fml0>0)。

    第三,在一定条件下,零假设检验和等效性检验的零假设可以同时被接受或拒绝,但意义不同。如果cα(ε0)小于c1-α,且观测到的Tml落在这两个数字之间,零假设检验和等效性检验的零假设都不能被拒绝,即既无法声明模型是无误设的,也不能证明模型误设在可接受范围内。如果cα(ε0)大于c1-α,且观测到的Tml落在这两个数字之间,我们可以同时拒绝零假设检验和等效性检验的零假设,即模型误设并不是0,但在一个可接受范围内。

    第四,由于cα(ε0)随着ε0的增加而增加,将会存在一个ε0使得cα(ε0)刚好等于c1-α。此时,等效性检验可能会得到和零假设检验一样的结论。但这个结果的意义是不一样的。对于等效性检验,在cα(ε0)=c1-α,我们可以认为误设水平为ε0=Fml0是可以接受的;但对于零假设检验,我们不知道当前模型的误设有多大。

    4 等效性检验用于测量不变性分析

    测量不变性检验是结构方程模型的一种重要应用,它考察了问卷的结构在不同情景中(如不同群体和不同时间)是否是一致的。对于无均值结构的模型,传统的测量不变性分析通常可以按照如下顺序进行:(1)检验两个组有无相同的模型结构,即因子数相同和因子-条目对应关系相同,也称形态不变性(Configural Invariance);(2)检验各组载荷是否跨组不变,即单位不变性(Metric Invariance)或弱不变性(Weak Invariance);(3)检验各组条目误差方差是否跨组不变,即误差方差不变性(Error Variance Invariance)/严格不变性(Strict Invariance);(4)检验各组因子方差和协方差是否跨组不变。对于有均值结构的模型,可以在单位不变性检验之后,按如下顺序进行分析:(3’)检验各组条目截距是否跨组不变,即截距不变性(Scalar Invariance)或强不变性(Strong Invariance);(4’)检验各组潜均值是否跨组不变(Jiang et al.,2017)。

    每一步检验都以前一步模型成立为前提,否则停止分析。模型成立通常可以依据两个标准:其一,当前模型与前一步模型的卡方差值即Δχ2统计不显著;其二,当前模型与前一步模型的CFI或RMSEA差值即ΔCFI或ΔRMSEA足够小(Jin,2020)。χ2、CFI和RMSEA理论上的不足前文已有说明,且已有的实证和模拟研究显示,Δχ2、ΔCFI及ΔRMSEA的统计学性质均不够理想。以错误判定不变性的概率作为第一类错误率、以正确判定不变性的概率作为统计检验力,Δχ2、ΔCFI和ΔRMSEA的第一类错误率总是明显偏高(Counsell et al.,2020;Finch&French,2018;Yuan&Chan,2016),特别是样本容量偏小(如小于250)时,最大可达0.8以上(Counsell et al.,2020)。ΔCFI还有个额外的问题,在因子载荷较高时,无论样本容量多大,它的第一类错误率总是极高。在统计检验力方面,Δχ2在模型完全没有误设(即Fml0=0)时,检验力较高(Counsell et al.,2020;Finch&French,2018;Yuan&Chan,2016),不过这种情况不切实际;而在更现实的条件下,即当模型存在可以忽略的误设时,它的检验力会随着样本容量增加而反常地下降(Counsell et al.,2020)。相较于这些传统方法,等效性检验第一类错误率控制很精确,基本上稳定在0.05水平,且不受样本容量、测量模型和因子载荷大小影响,统计检验力也可以接受(Counsell et al.,2020)。

    在测量不变性分析中,等效性检验的零假设为:Heab:Fmla0-Fmlb0>ε0ab。ε0ab代表一个可以接受的有约束模型a和基准模型b之间的差值,其作用和单个模型评价中的ε0类似。当Δχ2估计值小于其零假设分布χa2b(δ0ab)的左侧临界值时(δ0ab=(N-m)ε0ab),我们拒绝Heab,并以1-α的置信度声明由模型a的额外约束导致的误设不超过ε0ab(Jiang et al.,2017)。同样地,我们也可以利用εt或RMSEAt代替p值来进行统计推断。除了测量不变性分析这种嵌套模型比较的特例,等效性检验也可以拓展应用在任何嵌套模型的比较中。

    为了便于研究者通过等效性检验实现测量不变性分析,Jiang等人(2017)编写了R程序包equaltestMI。除了利用到测量学性质更好的等效性检验之外,equaltestMI还具备两个突出优势:(1)传统的测量不变性分析中每个约束模型都要建模一次(如用Mplus进行不变性分析),分析过程繁琐且易出错,而equaltestMI利用原始数据(包括问卷条目和分组变量)和一个简单的验证性因子分析模型设定,即可一次性输出测量不变性的每一步分析,十分方便,而且既有传统测量不变性分析的结果,也有基于等效性检验的分析结果,利于研究者对比两种方法的结果。

    (2)传统的测量不变性分析中,均值结构涉及截距项和潜均值。截距项需要设为跨组不变的,从而使得潜均值可以被识别和估计。即潜均值不变性以截距不变为前提。然而,有研究者指出这在理论上是不必要的(Jiang et al.,2017),现实中截距不变也很难满足(王孟成,2014;Swami&Barron,2019)。equaltestMI利用Deng和Yuan(2016)提出的投影法(Projection Method)解决了这个问题。投影法将每个组的显变量均值分解为两个正交的成分:公分数(Common Scores)和特殊因子(Specific Factors)。检验公分数均分的跨组不变性本质上是检验潜均值的跨组不变性,而检验特殊因子均分的跨组不变性和截距不变性有关,但不一样。公因子和特殊因子均分仅依赖于样本均值和估计出的公因子载荷矩阵,不会涉及到截距项,所以使用投影法就可以在不要求显变量截距不变的前提下比较潜均值,只需要满足载荷跨组不变即可,简化了潜均值不变性分析的步骤。更详细的原理介绍请见Deng和Yuan (2016)。注意:投影法既可以用于等效性检验,也可以用于传统测量不变性分析。

    5 应用实例

    下面用一个例子演示如何利用等效性检验评价单个模型拟合及测量不变性。示例样本为856名大学生,男487人,女369人。统计软件采用Mplus 8.3和R 3.5.1的equaltestMI包(语句示例见附录)。所有被调查者完成由王阳等人(2017)修订的共情量表,该量表共8个条目,包含2个维度:认知共情(理解他人情绪)和情绪共情(体验到他人情绪;Wang et al.,2019)。每个维度有4个条目。首先评价共情量表的两因子模型。传统的拟合指数RMSEA=0.046。等效性检验结果显示RMSEAt=0.061。虽然两种方法看起来都说明模型可以接受(如果以0.08为临界值),但对于前者,我们无法获取有关推断犯错误概率的信息,不知道是否模型是正确设定的,如果存在误设,也不知道误设的程度(Marcoulides&Yuan,2017);而等效性检验不仅告诉我们,当以RMSEA衡量模型误设时,模型误设程度不超过0.061,按照传统临界值,模型的拟合可以接受。还告诉我们做出这一推断犯错误的概率不超过5%。

    接下来进行跨性别测量不变性分析,由于很多时候研究者对误差方差的不变性不感兴趣(王孟成,2014,Svetina et al.,2020;Swami&Barron,2019),我们按照形态不变性→单位不变性→截距不变性→潜均值不变性的顺序进行分析(结果见表1)。对于形态不变性,单独用男生和女生样本拟合数据,结果RMSEA和CFI都可以接受,传统方法支持形态不变性;RMSEAt=0.068、0.073,表明对于男生和女生样本,我们有95%的置信度认为模型误设分别不超过0.068和0.073,等效性检验支持形态不变性。对于单位不变性和截距不变性模型,传统方法的ΔRMSEA和ΔCFI均小于0.01,Δχ2也不显著,传统方法支持单位不变性和截距不变性;单位不变性和截距不变性对应的RMSEAt分别为0.074和0.043,我们有95%的置信度认为施加载荷相等限制和施加截距相等限制造成的误设程度各自不超过0.074和0.043,等效性检验也支持单位不变性和截距不变性。对于潜均值不变性,ΔRMSEA和ΔCFI均小于0.01,Δχ2也不显著,传统方法支持潜均值不变性;而RMSEAt=0.130,我们有95%的置信度认为施加潜均值相等限制造成的误设程度不超过0.130,这个值已经超过拟合可以接受的经验临界值0.08(温忠麟等,2018),这样等效性检验未支持潜均值不变性,除非我们可以接受最大为0.130的误设。

    表1 测量不变性分析各项拟合指数

    5fab01aea27f40226e6257def57767ac.png

    由于截距不变性条件苛刻,经常不能被满足(Svetina et al.,2020),这导致研究者更感兴趣的潜均值不变性分析无法进行。如果研究者想要跳过截距相等限制的模型,在载荷不变成立之后直接检验潜均值是否跨组不变,可以使用投影法(操作方法见附录)。本例结果表明:基于投影法的传统测量不变性分析中,公分数跨组不变模型对应的Δχ2不显著(p=0.508),结果支持潜均值不变。基于投影法的等效性检验中,公分数跨组不变模型对应的RMSEAt=0.129,即我们有95%的置信度认为,令公分数跨组不变造成的误设不超过0.129,由于这个上限已经超过了经验临界值,因此潜均值不变性未得到支持。

    上述多个结果均显示传统方法和等效性检验对潜均值是否不变结论矛盾,我们可以通过检验两组潜均值差异是否统计显著来验证哪种结果更合理。结果无论是认知共情还是情绪共情因子,潜均值差异(标准化解分别为0.167和0.166)都统计显著(ps<0.05),女生得分高于男生,这也符合相关理论和实证研究的结论(如颜志强,苏彦捷,2018;Wang et al.,2017)。这说明潜均值相等实际上不成立,等效性检验给出了正确的判断,而传统方法结果错误。此外,等效性检验不变性分析的每一步都能告诉研究者可能的误设程度和统计推断犯错误的概率,而传统方法则缺乏信息量。综合以上结果,本文的应用实例也显示出相比于传统的模型评价方法,等效性检验更具优势。

    6 讨论

    本文从结构方程传统拟合指数的不足入手,详细介绍了等效性检验这种新的拟合评价方法,并用实际数据演示了如何用等效性检验进行单个模型拟合评价和测量不变性检验,说明了等效性检验相对于传统方法的优势(提供更多的信息和更准确的结果)。但本文仍有一些相关问题需要深入讨论和拓展。

    6.1 等效性检验应用于其它拟合指数

    前文主要介绍了如何以RMSEA的形式定义误设程度。除此之外,用类似的办法也可以以其它常用的拟合指数来定义误设。如Yuan等人(2016)提出用公式Tml=cα/2(εt)和Tmli=cα/2(εit)来计算εt和εit (下标i表示独立模型),进而求得CFIt=1-(εt/εit)。传统的CFI估计值不能告诉我们它偏离总体CFI值多远,而CFIt可以。比如,前文应用实例中,共情两因子模型的CFIt=0.975,这一结果说明我们有95%的置信度认为CFI真值高于0.975。目前CFIt可以通过Marcoulides和Yuan(2017)编写的R函数计算,只需要输入样本容量、变量个数、理论模型的χ2统计量和自由度、独立模型的χ2统计量以及α取值即可(语句下载网址:http://www3.nd.edu/~kyuan/EquivalenceTesting/T-s ize_RMSEA_CFI.R)。

    除了RMSEA和CFI,SRMR也是一种广受推荐的拟合指数,不过,由于该指数并不基于卡方或非中心参数,且其分布是未知的(Kelloway,2015),不容易像RMSEA和CFI那样改造成等效性检验的形式。将等效性检验的思想融入SRMR是未来研究可以尝试的工作。

    6.2 拟合临界值

    前文应用实例中评价拟合水平所对照的临界值仍然是传统临界值,即RMSEA不高于0.08和CFI不低于0.90表示模型拟合可以接受。Yuan等人(2016)认为如果等效性检验仍然采用这个标准,会过于严格,RMSEAt和CFIt需要新的临界值标准。他们通过十余个和RMSEA、CFI有关的变量建立回归方程来预测RMSEAt和CFIt。以测定系数R2最大为标准确定最佳预测变量,并将因变量预测值作为RMSEAt和CFIt的校正临界值,用RMSEAe和CFIe表示。校正临界值比传统的标准宽松,会随着组数、样本容量和自由度的变化而变化(Finch&French,2018)。新的临界值可以利用Marcoulides和Yuan (2017)提供的R函数获得(下载网址:http://www3.nd.edu/~kyuan/EquivalenceTesting/CFI_e.R和http://www3.nd.edu/~kyuan/Equivalence Testing/RMSEA_e.R),RMSEAe也可以利用equaltestMI包的adjRMSEA=TRUE命令获得。

    尽管新临界值得到一些研究者的支持(如Finch&French,2018;Marcoulides&Yuan,2017;Yuan et al.,2016),但要注意RMSEAe和CFIe的提出并没有充分的理论根据,同样是带有主观性的临界值,而且CFIe的计算公式的预测误差最大接近0.03 (Yuan et al.,2016)。此外,Counsell等人(2020)最近的模拟研究显示,在进行测量不变性分析时,对照传统拟合临界值的等效性检验可以较精确地控制第一类错误,且统计检验力也在合理范围,而使用校正临界值的等效性检验的第一类错误率总是偏高,且在样本容量低于2000时,几乎总是10倍于使用传统临界值的等效性检验。因此,尽管多篇文章推荐使用,本文仍建议应用研究者慎用校正临界值。

    6.3 结合多种指标评价模型拟合

    尽管等效性检验在评价结构方程模型拟合和测量不变性时展现出了优于对应的传统拟合指数(如RMSEAt对应于RMSEA)的性质,Yuan等人(2016)还建议将等效性检验作为评价模型拟合的惯例报告内容,但其并非没有局限。首先,等效性检验通常以RMSEA的形式衡量误设,而RMSEA本身就有一定局限。如当自由度小、样本容量小或测量条目较多(如30以上)时,RMSEA容易拒绝正确的模型(Shi et al.,2019),有研究甚至建议样本容量小于200时不要报告RMSEA(Taasoobshirazi&Wang,2016)。考虑到不同的拟合指数实际上是从不同的角度反应了模型拟合,如RMSEA是基于卡方的绝对拟合指数,CFI评价了假设模型比独立模型改善的程度,而SRMR则是少有的直接基于残差的拟合指数,同时报告多个拟合指数应该比单纯依赖于某个拟合指数更能够有效地反映模型拟合(温涵,梁韵斯,2015),尽管某些拟合指数当前还无法与等效性检验结合起来。未来的研究也应该进一步比较等效性检验与这些未关联等效性检验的拟合指数,如比较RMSEAt和SRMR,从而为研究者选择合适的拟合指数评价模型提供更多指导。

    第二,单纯依靠拟合指数评价模型是不够的,特别是决定拟合指数取值的因素很多,拟合指数所反映的并不仅仅是模型拟合(Moshagen&Auerswald,2018)。比如所谓的信度悖论(Reliability Paradox;Hancock&Mueller,2011)——其它条件不变时,因子载荷越低(信度越低)的模型常常拟合越好,因子载荷越高(信度越高)的模型常常拟合越差——就体现了拟合指数反应模型质量的片面性。因此,尽管等效性检验优化了模型拟合指数,我们在评价模型时,仍然应当综合考虑多种指标,如检查路径系数、检视载荷或R2、检视修正指数、检视残差矩阵等(温忠麟,侯杰泰,2008;吴明隆,2010)。

    6.4 用等效性检验灵活检验测量不变性

    虽然使用equaltestMI评价测量不变性非常便利,可以一步完成所有不变性检验步骤,但这样的设定一定程度上牺牲了测量不变性检验的灵活性。比如,在多组比较时,有些跨组不变很难完全满足(包括截距不变性、误差方差不变性等),这时可以考虑建立部分跨组不变(Partial Invariance)的模型,即允许个别不满足不变性标准的参数自由估计,仅使用满足不变性要求的参数进行后续更严格的检验。equaltestMI无法建立这样的模型,此时可以先通过Mplus建立部分跨组不变的模型,获得当前模型与上一步模型的χ2及自由度差值,加上组数、每组样本容量及α水平等参数,可以代入Yuan和Chan (2016)提供的函数(见附录)检验不变性。

    6.5 其它需要讨论的问题

    (1)本文从统计原理的角度说明了等效性检验在评价单个模型拟合以及测量不变性分析时的优势,也列举了一些有关测量不变性分析的模拟研究和实证研究证据(包括本文中的应用实例演示)。不过,目前还没有很多研究比较等效性检验和传统的拟合指数在评价单个模型时的实际表现。只有一项基于单个模拟数据集(真模型为两因子模型)的研究(Marcoulides&Yuan,2017),结果发现传统拟合指数会错误地将单因子模型当做拟合良好的模型,而等效性检验则发现了单因子模型拟合一般。未来还是需要模拟研究来系统地比较两种方法评价单个模型拟合的优劣。

    (2)当前等效性检验在结构方程领域的应用均基于正态性假设(Yuan et al.,2016),如果数据不服从多元正态假设,等效性检验表现如何尚未可知,需要进一步研究。对总体服从正态分布的数据进行正态转换或采用bootstrap方法是可以考虑的思路。

    (3)本文评介了等效性检验在结构方程领域的应用,除了结构方程建模,等效性检验也可以应用在其它以接受传统零假设为目标的分析当中,如各组均值无差异(Lakens,2017)、变量之间无相关(Shiskina et al.,2018)、方差齐性检验(Kim&Cribbie,2018)等,并表现出了良好的统计性质。相信随着更多基于等效性检验的实证和方法研究的出现,等效性检验会有越来越多的应用。

    附录:

    用R的equaltestMI包分析测量不变性的语句模板

    27977b65a6a737c0e850026718ac452f.png207d574fea5803f17ee6d2b09a4a0f2e.png

    注:如需获取单个模型评价的校正临界值RMSEAe,可通过equaltestMI包的eqMI.RMSEA命令,如:eqMI.RMSEA (N=856,m=1,df=19)。组数m必须指定为1。

    用Yuan和Chan (2016)的R函数获取测量不变性分析需要的RMSEAt

    6fad54e9a47018dc96dd739423d0e5c9.png

    注:篇幅所限,上述语句只涉及需要使用者输入的参数,而省略了ncp_chi2函数和RMSEA_ctoa函数的具体内容,感兴趣的读者需在Yuan和Chan (2016)提供的网址(http://www3.nd.edu/~kyuan/mgroup/Equivalence-testing.R)下载完整语句,方可运行程序。

    声明

    2acdeedc835cb4584a452207d43f05c2.png

    推文中的观点仅代表文章原作者观点,我们每天分享不同类型的学术期刊论文,希望能够为您带来帮助。

        引文来自:中国知网

        引文作者:王阳 温忠麟 付媛姝

        全文见《心理科学进展》网络首发时间: 2020-09-22 15:56:36

        编辑:讲李学术团队

        “愿与您一同成长”

    cd51351ed75d68c397dbd34f094f5d9c.png
    展开全文
  • 经典尺度不变性是解释电弱尺度起源的可能解决方案之一。 最简单的扩展是经典的尺度不变标准模型,其中增加了多个标量单重实标量。... 结果表明,该模型的一部分已被排除,其余参数空间在将来的实验范围之内。
  • 我们在轻子质量和混合角的模块化不变模型中探索带电轻子扇区的替代描述。 除模量外,我们模型的对称破坏扇区还包括普通黄酮。 中微子质量项仅取决于模量,并经过调整以最小化自由参数的数量。 带电的轻子Yukawa...
  • 不知道小伙伴使用pytorch时是否遇到了下面的情况:我们加载训练好的参数,然后输入经过网络,但是不经过梯度下降训练,也就是说模型参数没有更改,这是我们仍然会发现我们输出的指标(例如准确率)下降。...

    引言

    不知道小伙伴使用pytorch时是否遇到了下面的情况:我们加载训练好的参数,然后输入经过网络,但是不经过梯度下降训练,也就是说模型的参数没有更改,这是我们仍然会发现我们输出的指标(例如准确率)下降。

    现象

    最近跑的一个程序,加载好预训练模型

    checkpoint = load_checkpoint(args.resume)
    model.load_state_dict(checkpoint['state_dict'])

    随后我们加载好预训练模型,然后执行下面一段代码: 模型设为train模式,然后经过网络得到输出,此时我们并没有对输出的结果进行训练,参数没有变。然后模式设为eval模式,我们得到的最终评价指标res。

    self.model.train()
    input_dict = self._parse_data(inputs)
    output_dict = self._forward(input_dict)
    self.model.eval()
    res = evaluator.evaluate(test_loader,  dataset=test_dataset)

    但是不同的res实验结果却不一样。

    分析

    经过查阅资料发现模型内部有一个”捣蛋鬼“。那就是Batch Normalization。Batch Normalization(简称为BN),中文翻译成批规范化,是在深度学习中普遍使用的一种技术,通常用于解决多层神经网络中间层的协方差偏移(Internal Covariate Shift)问题,类似于网络输入进行零均值化和方差归一化的操作,不过是在中间层的输入中操作而已,具体原理不累述了。
    题的关键 BN层的统计数据更新是在每一次训练阶段model.train()后的forward()方法中自动实现的,而不是在梯度计算与反向传播中更新optim.step()中完成。
    所以说即使不梯度计算,整个模型还是由于BN的变化更新了。

    拓展

    BN其实坑还是不少的,还有两个值得小伙伴们注意的坑。

    第一个是我们如果加载一个与训练好包括BN的模型迁移到其他任务,例如想着直接在物体检测框架的模型上添加mask分支,冻结detection参数,只训练mask相关的参数。那么如果不冻结BN的话,detection相关的性能指标一直在变!如何冻结呢?
    正确打开方式如下:

    def fix_bn(m):
        classname = m.__class__.__name__
        if classname.find('BatchNorm') != -1:
            m.eval()
    
    model = models.resnet50(pretrained=True)
    model.cuda()
    model.train()
    model.apply(fix_bn) 

    第二个坑就是当使用网络进行推理的时候,发现每次更改测试集的batch size大小竟然会导致推理结果不同,甚至产生错误结果,后来发现在网络中定义了BN层,BN层在训练过程中,会将一个Batch的中的数据转变成正太分布,在推理过程中使用训练过程中的参数对数据进行处理,然而网络并不知道你是在训练还是测试阶段,因此,需要手动的加上:

    model.train()
    model.eval()
    展开全文
  • MMatrix = (Data-ones(nDataNum,1)*[x_center,y_center])*(Data-ones(nDataNum,1)*[x_center,y_center]);%MMatrix = Data*Data; 区别所在[eigVec,eigVal] = eig(MMatrix); 
    MMatrix = (Data-ones(nDataNum,1)*[x_center,y_center])'*(Data-ones(nDataNum,1)*[x_center,y_center]);

    %MMatrix = Data'*Data; 区别所在
    [eigVec,eigVal] = eig(MMatrix);  
    展开全文
  • 对于经典尺度不变性被量子效应打破的标量理论,我们计算了自洽的反弹解和格林函数。 通过推导分析表达式,我们发现后者类似于原型薄壁模型中的格林函数在准生成真空之间的隧穿。 但是,本征模和本征谱非常不同。 ...
  • 今天接着上周的二自由度车辆模型,继续搭建一个三自由模型,然后基于自己搭建的三自由度模型进行车辆参数的估计,看看效果如何。三自由度车辆模型,就是在二自由模型的基础上增加一个车辆纵向运动自由度,另外两个...
  • 在这项工作中,我们研究具有最小隐藏扇区的IDM的经典尺度不变版本,它具有U(1)CW规范对称性和复杂标量Φ。 质量尺度是通过Coleman-Weinberg(CW)机制在隐藏扇区中生成的,并通过门户耦合传递到两个希格斯二重态...
  • 由于尺度不变性,该模型仅具有两个独立的参数,并且对于受DM残留物密度限制的参数空间,可以发生强烈的一阶电弱相变。 在此模型中,对于参数空间的一小部分,DM核子横截面低于中微子底限,因此,将来的直接检测实验...
  • 我们表明,用于描述暗物质与标准模型粒子之间相互作用的简化模型在一般情况下并不符合规范不变性,并且在参数空间的较大区域中可能会破坏微扰统一性。 解决这些矛盾所必需的修改可能意味着现象学更加丰富,并导致对...
  • 以淮南潘谢煤田13-1煤层煤岩基本物理、力学实验为基础,通过拟合三轴实验、Hopkinson压杆实验和Hugoniot实验数据,得到了煤岩的极限面参数、率效应参数和压力参数的取值,总结出一套获取煤岩HJC模型参数的方法。...
  • 我们研究可嵌套嵌套代数Bethe ansatz求解的可积模型,并用gl(2 | 1)或gl(1 ... 我们显示,在Bethe参数的特殊限制下,所有形状因子都相互关联。 我们的结果使我们能够获得超对称tJ模型中局部算子的形状因子的行列式。
  • 针对于前半年的新冠肺炎疫情的数据,本UP(非数模向)自主在网上学习了几种通用的传染病模型,主要有:SI,SIS,SIR,SEIR四种模型, ...假设总人口N不变,人口自然出生率与死亡率相同,不考虑因病死亡,新增人口为易
  • 在以Hooft Rξ规量化的U(1)希格斯模型中研究了一组局部规范不变复合算符的光谱特性。 这些算子使我们能够对理论的频谱进行规范不变的描述,从而在使用标准基本场时超过了某些商品。 一环评估相应的两点相关函数,...
  • 马尔科夫转换-GARCH模型参数估计方法的研究和探讨,马艳青,黄光辉,金融市场波动可能存在结构变化,经典的GARCH模型由于系数保持不变,不能反映该结构变化,使得波动的预测不够准确。本文将马尔科夫�
  • 我们在考虑ψψ→ψψ$$ \ overline {\ psi} \ psi \ \ to \ overline {\ psi} \ psi $$散射(其中存在ψa)时,解释了标准模型有效场理论中存在的重新参数不变性 费米子)以及这如何导致限于这些测量的全局数据...
  • 在4种色温和7种照度构成的28种LED光源下的实验中,在色温不变、照度变化的光照下其颜色预测精度优于1.5 CIELAB色差单位,与固定参数、固定光照下多项式模型的精度相当,而在色温和照度同时变化的情况下其平均色差...
  • 随机信号的参数估计(AR模型) 201710413068 利满雯 17广电工方向三 一、AR模型简介 自回归模型(简称AR模型),是统计上一种处理时间序列的方法,用同一变数例如x的之前各期,亦即x1至xt-1来预测本期xt的表现,并...
  • 我们分析了在标准模型扩展(SME)(Colladay和Kostelecký(1997)[3]和Kostelecký(2004)[1])中违反洛伦兹不变性的相互作用所引起的超冷中子(UCN)的动力学。 我们利用有效的非相对论势进行了违反由Kostelecký...
  • 为了分析频谱的这一部分,我们从顶点模型的Bethe ansatz解导出了一组耦合的非线性积分方程,该方程可以计算一定范围的各向异性和交错参数的系统能量。 发现批判理论是独立于错综复杂的。 其光谱和状态密度与SL(2,...
  • 网上的教程大多数是教大家如何加载自定义模型和函数,如下图 这个SelfAttention层是在训练过程自己定义的一个class,但如果要加载这个自定义层,需要在load_model里添加custom_objects字典,这...调用方式不变 这样问
  • 去年TensorFlow官方推出了模型优化工具,最多能将模型尺寸减小4倍,运行速度提高3倍。 最近现又有一款新工具加入模型优化“豪华套餐”,这就是基于Keras的剪枝优化工具。 训练AI模型有时需要大量硬件资源,但不是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 815
精华内容 326
关键字:

不变参数模型