基于来自其他列的值的列中的回归 P 值你好... 我正在尝试找到 Nelson 规则 3(增加或减少 6 点)的替代方法,该方法使用基于多个连续点的回归、alpha 值和结果 p 值来帮助我标记信号何时足够大克服噪音。 这将用于工具磨损类型的控制图。
假设我有一个如下所示的数据集(为简单起见),其中;
X 是我的自变量,Y 是相关变量。 我想计算连续点回归的 P 值(下例中的 N=3),以帮助我了解何时有足够大的信号来克服回归中的噪声。
显然,下表中的 p 值是示范性的
我认识到 N 可能需要更大(当然,这取决于信号的大小)。
我可以创建一个脚本来执行此操作,以便我可以使用 N 和 alpha 来帮助我了解回归何时不同于空值吗? 如果我可以在表中获得 p 值,我并不真正关心控制图上的注释。
谢谢
| X | 是 | P值 | 坡 | 子组大小 |
| 1个 | 3个 | | | |
| 2个 | 6个 | | | |
| 3个 | 9 | 0.05 | | 3个 |
| 4个 | 12 | 0.05 | | 3个 |
| 5个 | 12 | 0.1 | | 3个 |
| 6个 | 12 | 0.54 | | 3个 |
| 7 | 11 | 0.5 | | 3个 |
| 8个 | 13 | 0.1 | | 3个 |
| 9 | 15 | 0.07 | | 3个 |
| 10 | 17 | 0.05 | | 3个 |
数据表脚本回复:一列中基于其他列的值的回归 P 值我对创建这些的内置函数很感兴趣新行,因为我不想使用脚本。 我确实查找了您对移动斜率的解决方案(复制在下面),但该解决方案超出了我的理解范围。 我太老了(也太笨了),不能再做这种矩阵数学,你乘以转置矩阵然后求逆……老实说,我不能理解这个。 因此,为什么我会发现脚本更有用,因为它们往往更线性。 
但是谢谢。
If( Row() > 2,
x = J( Row(), 1, 1 ) || :MX[Index( 1, Row() )]`;
y = :MY[Index( 1, Row() )]`;
(Inv( x` * x ) * x` * y)[2];
)
回复:一列中基于其他列的值的回归 P 值添加到@txnelson , 之前有过关于设置列公式来计算移动斜率的讨论。 我建议您找到它并阅读它以获得有用的背景知识。 该解决方案的基础是 Jim 在此处建议的功能。 您可以扩展公式以导致行状态发生变化,然后控制图使用该变化来确定可能发生变化信号的位置。
有很多内置功能可以用来实现这个想法,而且它们并不都需要脚本。
回复:一列中基于其他列的值的回归 P 值遍历数据表并构建一个 x 和 y 矩阵,然后使用 Linear Regression() 函数执行回归是一件简单的事情。决定在 2 个矩阵中放置什么值将是要变化的项目。
这是取自脚本索引的示例,用于 Linear Regression() 函数
Names Default To Here( 1 );
/*Simple Linear Regression: y = intercept + beta * x + error*/
y = [3, 5, 7, 5];
X = [1, 2, 3, 4];
{Estimates, Std_Error, Diagnostics} =
Linear Regression( y, X, <<PRINTTOLOG></PRINTTOLOG>