在公式中計算線性回歸斜率你好,
我想知道是否有一種方法可以計算數據表公式中列數據的線性回歸斜率。
下面是該表的一個簡單示例。 數據是有序的,我想使用當前行的數據和先前的點來計算體積擬合線隨時間的斜率來執行回歸。
我的想法是,我想看看計算出的斜率如何隨著數據點數量的增加而變化。 通過手動執行此操作,斜率值最終接近給定值並在 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