在公式中计算线性回归斜率你好,
我想知道是否有一种方法可以计算数据表公式中列数据的线性回归斜率。
下面是该表的一个简单示例。 数据是有序的,我想使用当前行的数据和先前的点来计算体积拟合线随时间的斜率来执行回归。
我的想法是,我想看看计算出的斜率如何随着数据点数量的增加而变化。 通过手动执行此操作,斜率值最终接近给定值并在 20 点左右后保持在 +/-5% 内。
| 实例 | 时间(秒) | 体积(毫升) | 斜率(毫升/秒) |
| 1个 | 0 | 0 | 不适用 |
| 2个 | 5个 | 0.5 | 立方米 |
| 3个 | 10 | 0.8 | 平方米 |
| ... | ... | ... | ... |
| 否 | 吨 | V | mN-1 |
如果可能的话,我的下一个挑战是设置它,以便我可以计算斜率公式,以便它使用当前行两侧的 N 个数据点来进行对称移动计算。
先感谢您。
回复:计算公式中的线性回归斜率这很有趣..如果我想对此应用 p 值...基于零假设(斜率 = 0)...有没有办法将其整合到论坛中?
换句话说,我想看看移动斜率何时根据斜率周围的置信区间发生显着变化
回复:计算公式中的线性回归斜率你说, ”很多时候,我们不知道 X 之间的相关性何时发生变化,因此这是一种尝试研究时间对手头分析的影响。 “ 您是否尝试过 JMP Pro 中的函数数据浏览器? 它可能有助于通过功能主成分检测形状的变化。
回复:计算公式中的线性回归斜率你好 JMP 团队 ...
Nelson 的方法很可能正是我所寻找的。 我正在与他讨论与 mann kendall tau 测试类似的需求。
我的输入不在一行中。
我的数据通常包含多个参数,每个参数在不同的时间步长测量。 整齐的数据格式;参数在列中,每一行是不同的时间状态——即时间顺序在行中。
我正在研究许多统计函数来衡量其中一个的趋势或与其他 X 的拟合度,但是作为滚动窗口的函数。因此,例如,我不喜欢回归 X 与 Y 的整个历史,而是喜欢在过去 N 个时间步长内研究两者回归的逻辑。 然后每一行重新评估并得到一个新结果。 这些可以是线性回归的斜率,也可以是非参数 MK 测试的 tau 测试或其他一些统计输出。
很多时候,我们不知道 X 之间的相关性何时发生变化,因此这是一种尝试研究时间对手头分析的影响。 上面提到的 N 可以更改为各种值,以检查短期趋势与中/长期趋势。
我对脚本没问题,除非计算可以极大地有益于仅由脚本提供的方法,否则它们不是我的偏好。
我的偏好通常是将计算放入公式中,并将它们保存在数据框中。
直到今天,我没有知道可以在公式中部署脚本结构。
这可能是我困惑的主要原因。
感谢您的帮助。
回复:计算公式中的线性回归斜率我知道。
我的观点是,开始学习您可能在公式中使用的函数的最佳方法是使用脚本索引。
回复:计算公式中的线性回归斜率你能给我们一些关于你正在寻找的东西的更多背景吗?
一般来说,公式跨数据表的行工作,每行评估一个公式,并将该行的列值作为输入。
因此,通过在公式编辑器中请求回归函数,人们会期望您在数据表的每一行中都有一个输入值矩阵。 也许这就是你所拥有的,但这是一个不寻常的结构。
因此,有了更多信息,我们也许可以帮助您了解如何为此使用公式,或者可能为您指明公式编辑器之外的方向。
回复:计算公式中的线性回归斜率JMP 公式几乎可以是您想要的任何东西。我将您指向脚本索引中的 Linear Regression() 函数,恰好以脚本的形式显示了它的示例,但该函数也可以在公式中使用。下面是一个愚蠢的例子,计算第一行 1-3 的回归,然后是 Big Class 数据表中所有行的 1-4、1-5 等。这是公式.......附在数据表中,添加了新的公式列

回复:计算公式中的线性回归斜率我不是在寻找剧本。
我正在寻找公式应用程序(即使用公式生成器)回复:计算公式中的线性回归斜率选择帮助 > 脚本索引。 在筛选框中输入“回归”。 您应该在第二个列表中找到 Linear Regression() 函数。 选择它以在右侧查看有关此功能的信息。
回复:计算公式中的线性回归斜率你好 ...
你提到“ Linear Regression() 函数,可以在公式中使用” ...和从公式拟合到提供的数据集的斜率是最终目标,在哪里可以找到 Linear Regression() 函数或任何帮助?
你有什么例子吗?
谢谢
回复:计算公式中的线性回归斜率J() 是一个创建相同值矩阵的函数。默认值为 1。
||是表示串联的运算符。所以在 Mark 的例子中,他连接了 2 个矩阵。
这些函数和运算符在脚本指南中有完整的记录
帮助==>JMP文档库......脚本指南
回复:计算公式中的线性回归斜率@马克贝利嗨,马克,我是 JMP 的新手,我正在尝试做一些类似于 bio_grad 的事情,我在 3 个点上执行线性回归,然后是 4 个点,然后在我的数据表的一列中依此类推。 我试图了解您的回答实际上在做什么,并提出了几个问题。 什么是||意思是?还有J是什么?回复:计算公式中的线性回归斜率亲爱的@txnelson , 你能展示如何调整上面的代码以根据每个“晶圆”id/值而不是随机抽样在行选择上运行拟合模型吗? 谢谢!回复:计算公式中的线性回归斜率你好,
你提到“跨度 3”,如果我们想将其修改为“N”个样本的移动斜率,需要更改哪个值?
谢谢!
回复:计算公式中的线性回归斜率查看可在公式中使用的 Linear Regression() 函数。这可能是您可以使用的东西。
回复:计算公式中的线性回归斜率你好,
是否有任何计划将斜率和截距放入具有更直接直接函数的未来 JMP 版本的公式生成器中?
谢谢。
回复:计算公式中的线性回归斜率太棒了,有用,谢谢
回复:计算公式中的线性回归斜率此修改后的公式产生跨度为 8 的移动斜率:
If( Row() > 7,
x = J( 8, 1, 1 ) || :height[Index( Row() - 7, Row() )]`;
y = :weight[Index( Row() - 7, Row() )]`;
(Inv( x` * x ) * x` * y)[2];
)
回复:计算公式中的线性回归斜率你好
我正在尝试应用您的公式来计算窗口为 8 的移动斜率,我的意思是(对于 Row() > 7),我想计算第一组 x 和 y 数据的线性回归斜率点 [1 到 8],然后下一组 8 个数据点递增 1 [2 到 9],依此类推。 我正在尝试计算最大斜率以获得酶促反应的初始速率。
请你能告诉我你将如何修改你的脚本来实现这个目标吗? 我已经测试了你的公式,我获得了从第 1 行到第 n 行的所有数据点的斜率,而不是定义大小的移动窗口。
先感谢您
回复:计算公式中的线性回归斜率哇~~太棒了!!!!!!!
太感谢了!!!!! 
回复:计算公式中的线性回归斜率这正是我要找的。 我不知道这些操作可用!
谢谢你!
回复:计算公式中的线性回归斜率您也可以使用列公式。 我从 Sample Data 文件夹中打开了 Big Class.jmp。 (选择帮助>样本数据库>大类.jmp >打开) 我创建了一个名为移动坡度. 此示例使用以下列公式计算 Y = 重量和 X = 高度的跨度为 3 的移动斜率:
If( Row() > 1,
x = J( Row(), 1, 1 ) || :height[Index( 1, Row() )]`;
y = :weight[Index( 1, Row() )]`;
(Inv( x` * x ) * x` * y)[2];
,
Empty()
)
然后在 Graph Builder 中绘制移动斜率与行的关系图。
回复:计算公式中的线性回归斜率尝试将此公式插入新的公式列(这将计算到当前行的斜率):
(Row() * Summation( i = 1, Row(), :Time[i] * :Volume[i] )
-Summation( i = 1, Row(), :Time[i] ) * Summation( i = 1, Row(), :Volume[i] )) / (
Row() * Summation( i = 1, Row(), :Time[i] ^ 2 )
-Summation( i = 1, Row(), :Time[i] ) ^ 2)
要完成问题的第二部分,只需要更改求和的索引,即从 i=Row()-N 到 Row()+N。
希望这可以帮助。
-杰瑞
回复:计算公式中的线性回归斜率这是一个脚本,可以为您提供所需的输出,只是以不同的方式进行。它使用 Fit Model Platform 并循环多次,增加 N。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
// Create an output table to hold the results
dtOut = New Table( "summary",
New Column( "Instance" ),
New Column( "N" ),
New Column( "RSquare" ),
New Column( "RSM" ),
New Column( "Intercept" ),
New Column( "b1" ),
New Column( "b2" )
);
Loop Counter = 0;
// Loop across the different sizes
For( i = 5, i <= 111, i = i + 5,
Loop Counter++;
// Create a random sample data table from the original data table
dt << New Column( "random", formula( Random Uniform() ) );
dt << sort( by( dt:random ), , Order( Ascending ), replace table( 1 ) );
dt << delete columns( "Random" );
dt << select where( Row() <= i );
dtSample = dt << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
// Run the regression
fm = dtSample << Fit Model(
Y( :NPN1 ),
Effects( :PNP1, :PNP2 ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(
:NPN1 << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
Lack of Fit( 0 ), Plot Actual by Predicted( 0 ), Plot Regression( 0 ),
Plot Residual by Predicted( 0 ), Plot Effect Leverage( 0 )}
)
);
// Capture the output data
dtOut << Add Rows( 1 );
dtOut:Instance[N Rows( dtOut )] = Loop Counter;
dtOut:N[N Rows( dtOut )] = i;
dtOut:RSquare[N Rows( dtOut )] = (Report( fm )["Summary of Fit"][1][2] << get)[1];
dtOut:RSM[N Rows( dtOut )] = (Report( fm )["Summary of Fit"][1][2] << get)[3];
dtOut:Intercept[N Rows( dtOut )] = (Report( fm )["Parameter Estimates"][1][3] << get)[1];
dtOut:b1[N Rows( dtOut )] = (Report( fm )["Parameter Estimates"][1][3] << get)[2];
dtOut:b2[N Rows( dtOut )] = (Report( fm )["Parameter Estimates"][1][3] << get)[3];
// Clean up after our selfs
fm << close window;
Close( dtSample, nosave );
);回复:计算公式中的线性回归斜率完美的解决方案,正是我想做的事情。谢谢你!!
回复:计算公式中的线性回归斜率对这个问题感兴趣的人可能会考虑支持这个愿望:
https://community.jmp.com/t5/JMP-Wish-List/Moving-Rolling-Window-Statistics/idi-p/722620