PGFPlots 线性回归方差

PGFPlots 线性回归方差

我想计算我的数据的加权线性回归,但我的数据文件列出的是每个点的标准差,而不是方差。

有没有办法用方差方程来计算标准差的平方?我将从文件中读取数据。

我在 PGFPlotsTable 手册中看到过以下内容,但无法在我的实例中使其工作。我已对其进行了修改,以便执行我想要的操作。

\pgfplotstableset{
   create on use/vari/.style={
      create col/expr={U^2}}
}

我的文件:

\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}

\begin{document}


\begin{tikzpicture}[baseline]
\begin{axis}[
    xlabel={$x$},
    ylabel={$y$},
]
\addplot[   
    only marks,
    error bars/.cd, y dir=both, y explicit,
] 
table[
    x = X,
    y = Y,
    y error = U,
]
{
X   Y   U 
1   1   1       
20  20  4.472   
40  35  5.916       
60  71  8.426
80  78  8.832
100 114 10.677  
};

\addplot[
    red,
]
table[
    x = X,
    y = {create col/linear regression={y=Y, variance=U}}, %this should be U^2
]
{
X   Y   U
1   1   1       
20  20  4.472   
40  35  5.916       
60  71  8.426
80  78  8.832
100 114 10.677  
};
\end{axis}
\end{tikzpicture}

\end{document}

答案1

你几乎已经做到了。唯一缺少的就是\thisrow{U}U你的create col/expr

\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}

\begin{document}
\pgfplotstabletypeset[ % just to show that this works
   create on use/vari/.style={
      create col/expr={\thisrow{U}^2}},
   columns={U,vari}
]{
X   Y   U 
1   1   1       
20  20  4.472   
40  35  5.916       
60  71  8.426
80  78  8.832
100 114 10.677  
}

\bigskip

\begin{tikzpicture}[baseline]
\begin{axis}[
    xlabel={$x$},
    ylabel={$y$},
]
\addplot[   
    only marks,
    error bars/.cd, y dir=both, y explicit,
] 
table[
    x = X,
    y = Y,
    y error = U,
]
{
X   Y   U 
1   1   1       
20  20  4.472   
40  35  5.916       
60  71  8.426
80  78  8.832
100 114 10.677  
};

\addplot[
    red,
]
table[
    create on use/vari/.style={
      create col/expr={\thisrow{U}^2}},
    x = X,
    y = {create col/linear regression={y=Y, variance=vari}}, %this should be U^2
]
{
X   Y   U
1   1   1       
20  20  4.472   
40  35  5.916       
60  71  8.426
80  78  8.832
100 114 10.677  
};
\end{axis}
\end{tikzpicture}

\end{document}

相关内容