Questions tagged «mixed-model»

混合(aka多级或分层)模型是线性模型,其中包括固定效应和随机效应。它们用于对纵向或嵌套数据建模。

3
实验设计中可能存在的混淆
问题概述 警告:这个问题需要很多设置。请多多包涵。 我和我的一位同事正在进行实验设计。设计必须解决许多约束,我将在下面列出。我已经开发出一种可以满足约束条件的设计,并且可以对我们的利益产生无偏的估计。但是,我的同事认为设计中存在混淆。我们在没有解决问题的情况下就这一点进行了辩论,因此,在此我想提出一些外部意见。 我将在下面描述研究的目标,我们的制约因素,潜在的困惑以及为什么我相信这个“​​困惑”不是问题。在阅读每一部分时,请记住我的总体问题: 我描述的设计中是否有混淆? [此实验的细节已修改,但提出我的问题所需的基本要素保持不变] 实验目标 我们希望确定白人男性撰写的论文是否比白人女性,黑人男性或黑人女性撰写的论文(论文作者身份变量)更受好评。我们还希望确定我们发现的任何偏差在高质量或低质量的赠款(质量变量)中是否显示更多。最后,我们希望包括有关12个不同主题(主题变量)的论文。但是,只有前两个变量具有实质意义。尽管主题必须随文章的不同而不同,但是我们对评估在主题之间的不同方式没有实质性的兴趣。 约束条件 我们可以收集的参与者数量和论文数量都有限制。结果是,作者身份不能完全在参与者之间操纵,也不能完全在论文之间操纵(即,每篇单独的论文必须分配给多个条件)。 尽管每篇文章都可以有白人,白人,黑人和黑人女性,但是每篇文章只能是高质量和低质量之一,并且只能涉及一个主题。或者,以不同的方式施加此约束,论文中的质量和主题都无法操纵,因为它们是给定论文的固有特征。 由于疲劳,给定参与者可以评估的论文数量有限。 给定人员阅读的所有文章都必须与单个主题有关。换句话说,不能将论文完全随机地分配给参与者,因为我们需要确保每个参与者仅阅读相似主题的论文。 每个参与者只能查看一个据称由非白人男性作者撰写的论文,因为我们不希望参与者对实验的目的产生怀疑,因为他们的论文太多是由黑人或女性作者撰写的。 拟议的设计 我提出的设计首先将每篇文章分成4种不同的作者版本(白人男性,白人女性等)。然后,使用来自相似主题的四篇论文来定义一个“集合”,每篇论文都由两篇高质量和两篇低质量的论文组成。每个参与者从给定的集合中收到三篇论文,如下图所示。然后,每个参与者对他或她分配的三篇论文中的每篇论文都提供一个单独的评分。 潜在的困惑 我的同事认为上述设计存在混淆。他说,问题在于,当高质量的论文被指派由非白人男性作家撰写时,它总是与一篇高质量的论文和一部劣质的论文配对(关于论文1,请参见参与者1-3在图中)。另一方面,当同一篇论文被指派由白人男性作家撰写时,它与一部高质量的论文和一部低质量的论文配对三遍(对于论文1,参与者4-6)和两篇低质量的论文三对。次(论文1,参与者7-9)。 低质量的论文也存在类似的问题。当低质量的论文有非白人男性作者时,通常会以低质量的论文和高质量的论文来见(关于论文3,请参见参与者7-9)。但是,当同一篇文章中有一位白人男性作者时,可以看到一篇高质量的论文和一篇低质量的论文三遍(对于论文3,参与者10-12),而两次高质量的论文则是三遍(对于论文3,参与者1-3)。 上述模式可能存在问题的原因是,如果我们假设存在“对比效果”。具体而言,如果将高质量的论文与两份低质量的论文搭配在一起比在一篇低质量的论文和一份高质量的论文(合理的假设)上配对的平均评价更好,那么白人男性论文可能会获得比白人女性,黑人男性和黑人女性散文是作者身份以外的原因。 低质量论文的对比效果可能会或可能不会平衡高质量论文的对比效果;也就是说,对低质量论文和两篇高质量论文进行配对的情况可能会,也可能不会,特别是不利。无论如何,我的同事认为,任何形式的对比效果都可能使该设计成为问题,以便确定白人男性撰写的论文是否比其他作者的论文更受好评。 为什么我相信潜在的困惑不是问题 对我来说重要的是,即使存在对比效应,我们是否能够估计白人男性论文与其他论文的评价程度(即我们是否可以估计我们感兴趣的效果)。因此,我进行了一次模拟,在其中模拟了50个包含对比效果并适合测试我们感兴趣的效果的数据集。 具体模型是一种混合效果模型,具有随机的文章截距(每篇论文由多个参与者评估)和参与者(每个参与者评估多篇论文)。文章级别还包含种族,性别及其相互作用的随机斜率(这两个变量都在文章中操纵),参与者级别也包含质量的随机斜率(质量在参与者内部操纵)。兴趣的影响是种族,性别,种族与性别之间的相互作用以及这些变量和质量中的每一个之间的高级交互作用的影响。此模拟的目的是确定在数据中引入对比效果是否会造成种族,性别,种族与性别之间的相互作用,以及这些变量和质量之间的高级交互作用。有关更多详细信息,请参见下面的代码块。 根据模拟,对比效果的存在不会使我们感兴趣的任何效果的估计值产生偏差。此外,可以在与设计中其他效果相同的统计模型中估算对比效果的大小;对我来说,这已经表明我的同事所确定的“对比效果”并不是一个困惑。但是,我的同事仍然持怀疑态度。 require(lme4) require(plyr) participant <- rep(1:12, 3) essay <- c(rep(1, 9), rep(2, 9), rep(3, 9), rep(4, 9)) quality <- ifelse(essay == 1 | essay == 2, …

1
线性混合效应模型的报告结果
线性混合效应模型在我的生物学研究中并不常用,我需要报告我试图写的论文中使用的统计检验。我知道生物科学的某些领域(对依赖性的解决方案:使用多层次分析来容纳嵌套数据)已经开始出现对多层次建模的意识,但是我仍在尝试学习如何报告结果! 我的实验设计简而言之: *将受试者分配到四个治疗组中的一个 *在开始治疗后的不同天对因变量进行测量 *设计不平衡(治疗组中受试者人数不等,并且缺少某些天的测量值) *治疗A是参考类别 *我将数据集中在治疗的最后一天 我想知道治疗A(参考类别)是否比其他治疗(治疗结束)产生明显更好的结果。 我使用nlme在R中进行了分析: mymodel <- lme(dv ~ Treatment*Day, random = ~1|Subject, data = mydf, na.action = na.omit, + correlation = corAR1(form = ~1 |Subject), method = "REML") 输出(部分内容;为了简洁起见被截断)为: >anova(mymodel) numDF denDF F-value p-value (Intercept) 1 222 36173.09 <.0001 Treat 3 35 16.61 <.0001 Day …

1
找不到适合混合效果的计数数据的良好模型-ZINB还是其他?
我有一个关于单蜂丰度的非常小的数据集,我无法进行分析。它是计数数据,几乎所有计数都在一种处理中,而大多数零在另一种处理中。还有两个非常高的值(六个站点中的两个站点中的每个站点),因此计数分布的尾巴非常长。我正在R中工作。我使用了两个不同的软件包:lme4和glmmADMB。 泊松混合模型不适合:当不拟合随机效应时模型过于分散(glm模型),而当拟合随机效应时模型分散不充分(glmer模型)。我不明白为什么会这样。实验设计要求嵌套随机效应,因此我需要将它们包括在内。泊松对数正态误差分布不会提高拟合度。我使用glmer.nb尝试了负二项式误差分布,但无法拟合它–达到了迭代极限,即使使用glmerControl(tolPwrss = 1e-3)更改了公差。 因为很多零是由于我根本看不到蜜蜂(它们通常是微小的黑色物体)而造成的,所以我接下来尝试了零膨胀模型。ZIP不太适合。ZINB是迄今为止最好的模型拟合,但是我仍然对模型拟合不太满意。我不知道下一步该怎么做。我确实尝试了跨栏模型,但无法将截断分布拟合到非零结果–我认为是因为在控制处理中有很多零(错误消息是“ Model.frame.default(formula = s.bee〜tmt + lu +:可变长度不同(发现为“治疗”)”)。 另外,我认为我所包含的交互对我的数据做了一些奇怪的事情,因为系数很小,尽管当我比较bbmle软件包中使用AICctab的模型时包含交互的模型是最好的。 我包括一些R脚本,这些脚本几乎可以重现我的数据集。变量如下: d = Julian日期,df = Julian日期(作为因子),d.sq = df平方(蜜蜂数量增加,然后整个夏天下降),st =站点,s.bee =蜜蜂数量,tmt =处理,lu =土地利用类型,hab =周围景观中半自然栖息地的百分比,ba =边界地区的圆形田地。 非常感谢收到关于如何获得良好模型拟合的任何建议(替代误差分布,不同类型的模型等)! 谢谢。 d <- c(80, 80, 121, 121, 180, 180, 86, 86, 116, 116, 144, 144, 74, 74, 143, 143, 163, 163, 71, 71,106, …

1
手动计算对数似然,以进行广义非线性最小二乘回归(nlme)
我正在尝试为函数优化的广义非线性最小二乘回归计算对数似然功能在R包,使用由距离上AA进化树假设(布朗运动产生的方差协方差矩阵从包中)。以下可重现的R代码使用x,y数据和具有9个分类单元的随机树来拟合gnls模型:f(x)=β1(1+xβ2)β3f(x)=β1(1+xβ2)β3f(x)=\frac{\beta_1}{(1+\frac x\beta_2)^{\beta_3}}gnlsnlmecorBrownian(phy=tree)ape require(ape) require(nlme) require(expm) tree <- rtree(9) x <- c(0,14.51,32.9,44.41,86.18,136.28,178.21,262.3,521.94) y <- c(100,93.69,82.09,62.24,32.71,48.4,35.98,15.73,9.71) data <- data.frame(x,y,row.names=tree$tip.label) model <- y~beta1/((1+(x/beta2))^beta3) f=function(beta,x) beta[1]/((1+(x/beta[2]))^beta[3]) start <- c(beta1=103.651004,beta2=119.55067,beta3=1.370105) correlation <- corBrownian(phy=tree) fit <- gnls(model=model,data=data,start=start,correlation=correlation) logLik(fit) 我想logLik根据从获得的估计参数来“手动”计算对数似然(在R中,但不使用函数),gnls因此它与的输出匹配logLik(fit)。注意:我不是要估计参数;我只想计算该函数估计的参数的对数似然gnls性(尽管如果有人提供了一个可重现的示例,说明了如何在不使用的情况下估计参数gnls,我将非常感兴趣!)。 我不确定如何在R中执行此操作。S和S-Plus的混合效果模型(Pinheiro和Bates)中描述的线性代数表示法让我非常头疼,而且我的尝试都没有logLik(fit)。以下是Pinheiro和Bates描述的详细信息: 对数似然为广义非线性最小二乘模型 其中的计算方法如下:φ 我 = 甲我 βÿ一世= f一世(ϕ一世,v一世)+ ϵ一世yi=fi(ϕi,vi)+ϵiy_i=f_i(\phi_i,v_i)+\epsilon_iϕ一世= A一世βϕi=Aiβ\phi_i=A_i\beta 升(β,σ2,δ| ÿ)= − 12{ N日志(2 πσ2)+ ∑我= …

1
混合效应模型中固定效应的推论
我已经关联了数据,并且正在使用逻辑回归混合效应模型来估计感兴趣的预测变量的个体水平(条件)效应。我知道对于标准边际模型,使用Wald检验推断模型参数对于似然比和得分检验是一致的。它们通常大致相同。因为Wald易于计算并且可以在R输出中使用,所以我用了99%的时间。 但是,对于混合效果模型,我很感兴趣,因为固定效果的Wald检验(在R的模型输出中报告)和“人工”似然比检验之间存在巨大差异,这涉及实际拟合简化模型。凭直觉,我可以理解为什么这会有很大的不同,因为在简化的模型中,随机效应的方差被重新估计,并且会极大地影响可能性。 有人可以解释 对于固定效果,如何在R中计算Wald检验统计量? 混合效应模型中估计模型参数的信息矩阵是什么?(和从中计算Wald测试统计信息的mx相同吗?) 在我描述的案例中,两次测试的结果在解释上有什么区别?哪些通常是动机并在文献中用于推理?

1
对lmer和p值的困惑:memisc包中的p值与MCMC的p值相比如何?
我的印象是,该功能下lmer()的lme4包没有产生p值(见lmer,p值和所有)。 我一直在按以下问题使用MCMC生成的p值:混合模型中的显着效果,lme4以及以下问题:在的包中的输出中找不到p值lmer()lm4R。 最近,我尝试了一个名为memisc的程序包,并将其getSummary.mer()模型的固定效果保存到一个csv文件中。就像是魔术一样,p出现了一个名为的列,该列与我的MCMC p值非常紧密地匹配(并且不会遭受使用带来的处理时间pvals.fnc())。 我试探了其中的代码,getSummary.mer并发现了生成p值的行: p <- (1 - pnorm(abs(smry@coefs[, 3]))) * 2 这是否意味着可以直接从lmer输出生成p值,而不是运行pvals.fnc?我意识到这无疑将引发“ p值拜物教”辩论,但我很想知道。我没有听说过memisc,当涉及到前面提到的lmer。 更加简洁:与使用MCMC p值生成的值相比,使用MCMC p值有什么好处(如果有)getSummary.mer()?

2
每级1个观察值的混合模型
我正在glmer为一些业务数据拟合随机效应模型。目的是分析分销商的销售业绩,并考虑到地区差异。我有以下变量: distcode:发行商ID,大约有800个级别 region:顶级地理ID(北,南,东,西) zone:嵌套在中层地理区域内region,总共约30个层级 territory:嵌套在zone约150层中的低层地理 每个分销商仅在一个地区运营。棘手的部分是这是汇总数据,每个分发服务器只有一个数据点。因此,我有800个数据点,尽管有规律地尝试,但我试图(至少)容纳800个参数。 我已经安装了一个模型,如下所示: glmer(ninv ~ 1 + (1|region/zone/territory) + (1|distcode), family=poisson) 尽管可以打印出注释,但运行没有问题: 随机效应的分组因子的级别数等于 n,即观察数 这是明智的做法吗?我得到了所有系数的有限估计,而且AIC也不是不合理的。如果我尝试使用带身份链接的泊松GLMM,则AIC会更糟,因此日志链接至少是一个不错的起点。 如果我绘制拟合值与响应的关系图,我得到的基本上是完美拟合,我猜这是因为每个分配器有一个数据点。那合理吗,还是我做的事完全愚蠢? 这正在使用一个月的数据。我可以获取多个月的数据并以这种方式进行一些复制,但是我必须添加新的术语来表示逐月的变化以及可能的交互作用,对吗? ETA:我再次运行了上面的模型,但是没有family参数(所以只是一个高斯LMM而不是GLMM)。现在lmer给我以下错误: (函数(fr,FL,start,REML,verbose)中的错误:用于随机效应的分组因子的数量级必须小于观察值的数量 因此,我想我做的事情不明智,因为改变家庭不会产生影响。但是现在的问题是,为什么它首先起作用?

1
调和混合模型的符号
我熟悉以下符号: 其中β0Ĵ=β0+üĴ,和ÿ我Ĵ=β0+ β一世X我Ĵ+你Ĵ+ e我Ĵ= β0 Ĵ+ β一世X我Ĵ+ e我Ĵyij=β0+βixij+uj+eij=β0j+βixij+eij\begin{align} y_{ij} &= \beta_0 + \beta_i x_{ij} + u_j + e_{ij}\\ &= \beta_{0j} + \beta_i x_{ij} + e_{ij} \end{align}β0 Ĵ= β0+你Ĵβ0j=β0+uj\beta_{0j}=\beta_{0}+u_j 其中β0Ĵ=β0+ü0Ĵ和β1Ĵ=β1+ù1Ĵÿ我Ĵ=β0+ β1个X我Ĵ+ 你0 Ĵ+ 你1 ĴX我Ĵ+ e我Ĵ= β0 Ĵ+ β1 ĴX我Ĵ+ e我Ĵyij=β0+β1xij+u0j+u1jxij+eij=β0j+β1jxij+eij\begin{align} y_{ij} &= \beta_0 + \beta_1 x_{ij} + u_{0j} + u_{1j} …

1
R中重复测量的线性回归
我无法弄清楚如何在R in中执行线性回归以进行重复测量设计。在上一个问题(仍未回答)中,建议我不要使用lm而是使用混合模型。我lm以以下方式使用: lm.velocity_vs_Velocity_response <- lm(Velocity_response~Velocity*Subject, data=mydata) (有关数据集的更多详细信息,请参见上面的链接) 但是,我无法在Internet上找到任何带有R代码的示例,该示例显示了如何执行线性回归分析。 我想要的是,一方面是数据的图,一条线与数据相吻合,另一方面,值与p值一起用于模型的显着性检验。[R2R2R^2 有没有人可以提供一些建议?任何R代码示例都可能有很大帮助。 编辑 根据我到目前为止收到的建议,分析我的数据以了解两个变量Velocity_response(源自调查表)和Velocity(源自绩效)之间是否存在线性关系的解决方案应为: library(nlme) summary(lme(Velocity_response ~ Velocity*Subject, data=scrd, random= ~1|Subject)) 摘要的结果如下: > summary(lme(Velocity_response ~ Velocity*Subject, data=scrd, random= ~1|Subject)) Linear mixed-effects model fit by REML Data: scrd AIC BIC logLik 104.2542 126.1603 -30.1271 Random effects: Formula: ~1 | Subject (Intercept) Residual StdDev: …

1
将复杂模型重复拟合到大数据集时,如何优化计算效率?
使用MCMCglmmR中的程序包运行混合效果模型时出现性能问题。代码如下: MC1<-MCMCglmm(bull~1,random=~school,data=dt,family="categorical" , prior=list(R=list(V=1,fix=1), G=list(G1=list(V=1, nu=0))) , slice=T, nitt=iter, ,burnin=burn, verbose=F) 数据中大约有20,000个观测值,它们聚集在大约200所学校中。在运行之前,我从数据框中删除了所有未使用的变量,并从内存中删除了所有其他对象。我的问题是,除非将迭代次数减少到无法接受的程度,否则运行时间将非常长。经过50,000次迭代,需要5个小时,而且我要运行许多不同的模型。所以我想知道是否有加速代码执行的方法,或者我可以使用其他软件包。我正在使用,MCMCglmm因为我想要随机效果的置信区间。 另一方面,我希望在今年晚些时候购买一台新PC,但运气好的话,我也许可以将其推广,所以我一直在想如何最好地在新硬件上花有限的钱-更多的RAM ,更快的CPU等。通过观察任务管理器,我不认为RAM是问题(它永远不会超过物理使用的50%),但是CPU使用率也不会超过50%,这让我感到奇怪。我当前的设置是Intel Core i5 2.66GHz,4GB RAM,7200rpm HDD。以尽可能多的RAM为代价,获取尽可能快的CPU是否合理?我还想知道3级CPU缓存大小对像这样的统计计算问题的影响吗? 更新:已经问的元SO我一直建议重新措辞上的超级用户的问题和岗位。为此,我需要提供有关MCMCglmm中“幕后工作”的详细信息。我是否认为大部分的计算时间都花在了优化上,这是对的吗?我的意思是找到一些复杂函数的最大值?矩阵求逆和/或其他线性代数运算是否也是可能引起瓶颈的常见运算?我将非常感激能够提供给超级用户社区的任何其他信息。

1
PROC Mixed和LME / LMER在R自由度上的区别
注意:这个问题是一个转贴,因为我的上一个问题出于法律原因不得不删除。 在比较SAS的PROC MIXED与R中lme的nlme软件包的功能时,我偶然发现了一些相当混乱的差异。更具体地说,不同测试的自由度在PROC MIXED和之间有所不同lme,我想知道为什么。 从以下数据集(以下给出的R代码)开始: ind:指示进行测量的个人的因子 fac:进行测量的器官 trt:表示治疗的因素 y:一些连续响应变量 这个想法是建立以下简单模型: y ~ trt + (ind):ind作为随机因子 y ~ trt + (fac(ind)):fac嵌套在ind作为随机因子 需要注意的是最后一个模型应引起奇异性,因为只有1的值y对每一个组合ind和fac。 第一模型 在SAS中,我建立以下模型: PROC MIXED data=Data; CLASS ind fac trt; MODEL y = trt /s; RANDOM ind /s; run; 根据教程,R中使用的相同模型nlme应为: > require(nlme) > options(contrasts=c(factor="contr.SAS",ordered="contr.poly")) > m2<-lme(y~trt,random=~1|ind,data=Data) 两种模型对系数及其SE均给出相同的估计,但是在对F的影响进行F检验时trt,它们使用的自由度不同: SAS : Type …
12 r  mixed-model  sas  degrees-of-freedom  pdf  unbiased-estimator  distance-functions  functional-data-analysis  hellinger  time-series  outliers  c++  relative-risk  absolute-risk  rare-events  regression  t-test  multiple-regression  survival  teaching  multiple-regression  regression  self-study  t-distribution  machine-learning  recommender-system  self-study  binomial  standard-deviation  data-visualization  r  predictive-models  pearson-r  spearman-rho  r  regression  modeling  r  categorical-data  data-visualization  ggplot2  many-categories  machine-learning  cross-validation  weka  microarray  variance  sampling  monte-carlo  regression  cross-validation  model-selection  feature-selection  elastic-net  distance-functions  information-theory  r  regression  mixed-model  random-effects-model  fixed-effects-model  dataset  data-mining 

2
如何对带有随机斜率的混合效应回归模型进行MCMC假设检验?
库languageR提供了一种方法(pvals.fnc),可以使用lmer在混合效果回归模型拟合中对固定效果进行MCMC重要性测试。但是,当lmer模型包含随机斜率时,pvals.fnc会给出错误。 有没有办法对此类模型进行MCMC假设检验? 如果是这样,怎么办?(要被接受,答案应该在R中有一个可行的示例)。如果没有,是否存在无法解决的概念/计算原因? 这个问题可能与此有关,但我对其中的内容了解得不够清楚。 编辑1:概念证明表明pvals.fnc()仍然对lme4模型执行“某些操作”,但对于随机斜率模型则不执行任何操作。 library(lme4) library(languageR) #the example from pvals.fnc data(primingHeid) # remove extreme outliers primingHeid = primingHeid[primingHeid$RT < 7.1,] # fit mixed-effects model primingHeid.lmer = lmer(RT ~ RTtoPrime * ResponseToPrime + Condition + (1|Subject) + (1|Word), data = primingHeid) mcmc = pvals.fnc(primingHeid.lmer, nsim=10000, withMCMC=TRUE) #Subjects are in both …

3
如何在R中使用betareg函数实现混合模型?
我有一个数据集,其中包含一些比例,这些比例用于测量个体t的“活动水平”,因此使值介于0和1之间。该数据是通过计算个体在特定时间间隔内移动的次数(移动为1, 0(表示不移动),然后取平均值以为每个人创建一个值。我的主要固定效果是“密度水平”。 我面临的问题是,我有一个因子变量“ pond”,我想将其作为随机效应包括在内-我不在乎池塘之间的差异,但希望从统计角度考虑它们。关于池塘的重要一点是,我只有3个,而且我了解在处理随机效应时理想的是具有更多的因子水平(5+)。 如果可能的话,我希望获得一些有关如何使用R betareg()或betamix()在R中实现混合模型的建议。我已经阅读了R帮助文件,但是我通常很难理解它们(每个参数在上下文中的真正含义是什么)我自己的数据以及输出值对生态意义的含义),因此我倾向于通过示例更好地工作。 在相关的说明中,我想知道是否可以代替使用glm()二项式族和logit链接来解决此类数据的随机影响。


1
如何使用nlmer()对重复测量数据拟合非线性混合效应模型?
我正在尝试分析重复测量的数据,并努力使其在R。我的数据基本上如下,我有两个治疗组。每组中的每个主题每天都要接受测试,并给出分数(测试正确率)。数据为长格式: Time Percent Subject Group 1 0 GK11 Ethanol 2 0 GK11 Ethanol 3 0 GK11 Ethanol 4 0 GK11 Ethanol 5 0 GK11 Ethanol 6 0 GK11 Ethanol 数据类似于对数曲线,受试者在几天内表现很差,随后迅速改善,随后达到平稳状态。我想知道这种处理方法是否会对测试性能曲线产生影响。我的想法是在中使用nlmer()该lme4软件包R。我可以使用以下方法为每个组拟合线条: print(nm1 <- nlmer(Percent ~ SSlogis(Time,Asym, xmid, scal) ~ Asym | Subject, salinedata, start = c(Asym =.60, xmid = 23, scal …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.