腳本分析

在本演示中,我們將了解如何編寫 JMP 中一些常用平台執行的分析腳本。在“日誌”部分,我將點擊“混凝土強度和濕度數據”,這是我將在本演示的所有範例中使用的資料集。因此,我們得到了混凝土混合料的類型、最終的混凝土強度以及混凝土乾燥時的環境濕度。我將把它移到一邊,因為在本演示過程中我們實際上不會查看表格。回到課程日誌,我將點擊「分佈分析腳本」。因此,在這個預先編寫的腳本中,我們將分佈作為訊息發送到資料表“混凝土”,並將該結果儲存在變數 dist 中——儲存該物件參考。再次強調,這將是分析層的物件參考。我把所有三列——混凝土類型、濕度和強度——都放在 Y 分析角色中,然後在啟動時請求這三列的相同選項。但正如我們在開啟報告視窗時所看到的,並非所有欄位都能回應所有這些選項。因此,我將運行幾行程式碼,從啟動平台時分佈的參數中獲取一些資訊——「堆疊」是紅色三角形選單中的一個選項——在頂部,「分佈」旁邊——它只是將直方圖更改為水平,更改我們通常在直方圖下方看到的報告表的位置,以及它們是並排排列——直方圖本身是並排排列還是垂直排列。 「堆疊」是紅色三角形選單中的選項—您可以看到我們的腳本使用布林值將其關閉。因此,您的腳本可能會選擇這樣做,因為這實際上是一個非常常見的選項,用戶會在首選項中更改它,以便始終擁有堆疊分佈。如果以預設方式組織這些內容對腳本結果很重要,您可能需要關閉堆疊。此外,我們指定直方圖為垂直直方圖。這可以在“直方圖選項”下每個紅色三角形的單獨紅色三角形選單中找到。您可以看到這裡已選取。再次強調,這是預設設置,因此腳本只是試圖確保呈現效果與 JMP 中的預設設定一致,而不管用戶偏好如何。現在,在腳本的下一行,我們關閉了分位數。分位數僅適用於連續變數。如果您在任何這些子選單中查看“具體類型”旁邊的紅色三角形選單,您將找不到“分位數”一詞。但是,如果我查看“顯示選項”下“濕度”或“強度”旁邊的紅色三角形,分位數通常預設為啟用,但您可以看到它在此選單中未選中,因為我們使用了布林值。同樣,對於連續變量,“異常值箱線圖”通常啟用。我們用布林值將其關閉,這樣就不會出現異常值箱線圖。最後,我們用括號中的布林值請求了常態分位數圖,這通常不會啟用,但我們為這些變數請求了。再次強調,這是平台啟動的一部分,因此能夠回應這些命令的變數確實回應了這些命令。現在,一旦我們啟動了平台並將物件參考儲存在一個帶有分佈的變數中,我就可以一次與所有變數通信,或者我可以向各個列或變數發送訊息。我使用下標來實現這一點。所以這條線只是顯示我們向所有三列發送擬合分佈(常態)——即擬合常態分佈。當然,由於「混凝土類型」是名義型的——它無法響應,但「濕度」和「強度」會響應。所以我運行 line。你可以看到,我們將擬合的常態分佈疊加在兩個連續分佈上,我們也得到了擬合的常態輪廓項。這又是紅色三角形選單中的指令。 「擬合分佈」是該指令的舊名稱。在新版本的 JMP 中,它被稱為“連續擬合”,但它們仍然有效。我想注意一點——讓我回到日誌。當我執行腳本啟動分佈時,顯示的是平台的名稱。這表示我有一個分析層物件引用。在腳本中,如果我將滑鼠懸停在 dist 上,我會看到它。而當我事後從紅色三角形選單發送命令時,我得到的只是「可腳本化」的結果。現在,lines 和 將對平均值進行單樣本檢定。在紅色三角形選單中,指令只是「均值檢定」。但對於濕度來說,我的樣本平均值為,樣本平均值的強度約為,因此對這兩個變數測試相同的假設平均值實際上沒有意義。所以,讓我以互動方式實際示範。如果我轉到連續變數旁邊的紅色三角形並選擇“測試均值”,我會輸入一個假設均值。因此,我將取消該選項並返回到腳本編輯器視窗。因此,我正在測試平均值是否等於,並將其發送到分佈視窗的第三列。因此,我將使用數字為 dist 加下標。因此,我將運行行。如果我導航到「報告」窗口,就會看到對平均值的單樣本 t 檢定。然後,我將對濕度執行相同的操作,並使用不同的假設平均值,並且我的下標方式會略有不同。我將使用列的名稱作為字串(作為下標),而不是其在報告中的位置。我將運行一行,然後得到濕度的t檢定結果。這只是分佈平台的幾個範例,以及使用紅色三角形選單中的命令編寫分析層腳本。讓我們繼續使用單向平台。我將繼續關閉分佈腳本和分佈報告,但我仍然將使用“混凝土”數據表。因此,在日誌中,我將點擊單向變異數分析腳本。這開始有點廣泛。我們將整個啟動過程放在一行中。因此,我們將訊息發送到數據表“混凝土”。該訊息是單向平台啟動,Y角色為“強度”,X角色為“混凝土類型”,我們請求使用布林參數啟用這些均值菱形。我們將分析層物件參考儲存在ow中。我將運行一行,這樣我們就得到了輸出窗口,當然還有平台的名稱。如果您將滑鼠懸停在ow上,這就是儲存在ow中的內容。那些綠色的均值菱形——如果我點擊“單因素分析”旁邊的紅色三角形,你可以在“顯示選項”下的“均值菱形”下找到它。預設情況下,如果我沒有進行變異數分析,這些菱形是不會打開的。但我的腳本可以打開它們。現在,我不需要把這個腳本視窗弄得這麼寬了。我們繼續看另外幾個例子。在這裡的紅色三角形選單中,我們有一個設定alpha值的選項。有三個標準值。然後還有一個“其他”選項,你可以隨意選擇。在這個例子中,我發送了訊息到ow,設定alpha值。我將把它設置為。請注意,這些綠色平均值菱形的高度──也就是平均數的信心區間,或者換句話說,就是平均數的負alpha信賴區間。預設的alpha值是。所以,如果我將alpha值設為,這些將是置信區間。所以它們會變得更高。我會運行一行程式碼,這樣我們就能看到這些菱形平均值的高度改變了。如果我轉到紅色三角形,我們可以為單向平台請求的另一個報告是分位數報告。所以我在一行程式碼中打開它。請注意,此選單中沒有子選單的命令——它們可以接受括號中的布林參數,或者,正如您在一行程式碼中看到的變異數分析(ANOVA),它與平均值同義,它們根本不需要接受任何參數,而帶有子選單的選單項目會將這些子選單項目作為其參數。稍後我會討論為什麼我們可能想要使用布林參數,即使它不是必需的。但現在,我將運行一行程式碼,這樣我就得到了分位數報告表,並在圖上繪製了箱線圖。現在,請記住,變異數分析和平均值是同義詞。所以這只是紅色三角形選單中的另一個指令。但再次強調,我沒有在布林參數中加入括號。那麼當我運行該行時會發生什麼?我會運行它。然後我得到了方差分析。再次強調,我應該指出,在日誌中,我們每次與平台互動時都會看到該平台名稱。現在,如果我再次運行該行會發生什麼?我會在日誌中收到一條訊息——一條帶有有空布林參數的訊息啟用了一個已經啟用的選項。該選項仍然保持啟用狀態。它只是提到,在早期版本的 JMP 中,您實際上需要透過反覆運行該行來來回切換,而無需提供布林參數。所以,如果您查看用舊版本編寫的腳本,您可能會看到這種情況。不過,我們建議您作為最佳實踐始終使用該布林參數,以便在腳本中清楚地顯示我啟用了該選項而不是將其關閉。然後,當我想刪除它時,如果我想刪除它,我會運行一行包含布林值的語句。實際上,我們這樣做是為了關閉「分位數」報告。因此,在一行中,我將用一個替換,然後只運行這一行。現在,「分位數」選項已被刪除。最後,我們在先前的演示中看到,您可以將訊息級聯到物件。但我們也可以向物件發送訊息列表。因此,我將在腳本編輯器視窗中新建一行。儲存分析層物件引用的變數 ow 將接收該訊息。它將是一個列表,即“不等方差”。我將使用布林參數來啟用它。讓我轉到紅色三角形選單。這就是「不等方差」。這為我們提供了異方差檢定。我將在「不等方差」的布林參數後面加上一個逗號,並在其後加上括號。我要將 Alpha 等級恢復到預設值,所以我輸入“set alpha level”,然後在括號中輸入“set alpha level”。我需要關閉括號,因為我在輸入完成之前將遊標移出了這一行程式碼。然後,我將箭頭指向列表——讓我移動它以便可以看到整行——並輸入一個分號。這樣我就可以只運行這一行,再次使用數字鍵盤上的 Enter 鍵。現在視窗底部是方差不齊檢定。在頂部,您可以看到我們已將 Alpha 等級恢復到預設值,所以這些是我們的置信區間。小藍線來自方差不齊檢定。以上只是使用單向平台中紅色三角形命令編寫腳本的幾個範例——讓我們關閉此報告視窗並關閉此腳本而不儲存變更。在日誌中,我將點擊“雙變量腳本”。再一次,我們使用的是資料表「Concrete」。因此,儲存此分析層物件引用的變數是 biv。我將“二元變數”發送到該數據表,Y 角色為“強度”,X 角色為“濕度”。然後,我請求“擬合線”,它來自平台啟動時顯示的紅色三角形選單。因此,我將運行擬合線。同樣,我們會在日誌中看到平台名稱。如果我將滑鼠懸停在 biv 上,我就會看到該名稱。因此,我們繪製了「強度」與「濕度」的關係圖,並擬合了迴歸線。然後是其他一些消息——如果我再次轉到那個紅色三角形,就會看到「擬合線」。我可以在事後發送任何其他命令。實際上,我可以在啟動後發送“擬合線”。但我將使用“擬合多項式”。您會看到有那個子選單。因此,我們必須使用這些參數。在行中,我將該訊息發送到 biv,“擬合多項式”,即二次或二階多項式。我將運行該線。這樣我就進行了第二次擬合。當我向上滾動時,您會看到第二個擬合結果疊加在圖表上。這裡有兩個紅色三角形選單,一個用於線性擬合,一個用於多項式擬合。它們各自擁有與視窗頂部二元擬合層級的命令不同的命令。例如,如果我想對線性擬合的置信帶進行陰影擬合——命令是「置信陰影擬合」(Confid Shaded Fit)——我實際上需要做一些特殊的事情。我必須先與線性擬合進行通訊。然後,線性擬合接收到該訊息後,結果會作為訊息傳送給二元擬合。這裡寫的方式-我們簡稱第一個為-它們都稱為「曲線」(Curve)。我們使用下標“它接收置信陰影擬合”訊息。該訊息收集在括號中。這就是 biv 接收的訊息。如果沒有這些括號,biv 會嘗試理解曲線,當然,你不會在任何子選單或主選單中找到曲線。你也不會在這裡找到置信陰影擬合。它與此曲線相關,在報告中標記為線性擬合。因此,如果我運行所有線條,我會得到回歸線上的陰影置信帶。同樣,在這些紅色三角形選單中,但我將點擊多項式擬合旁邊的選單,我們可以更改線條顏色。預設第一個擬合為紅色,第二個為綠色,依此類推。所以假設我想將其更改為藍色。同樣,我可以將其發送到第二條曲線,將其括在括號中,這就是傳遞給二元變數的訊息。所以我將運行線條,你會看到線條顏色已經改變。現在,這也是一些東西。如果您想知道如何編寫腳本,並且不需要在平台啟動後將其作為訊息發送到平台——您希望將其作為啟動的一部分——您可以以互動方式執行此操作,然後讓 JMP 將該腳本保存到腳本視窗並以此方式進行操作。如果您這樣做,那麼 Confid Shaded Fit 將成為 Fit Line 的參數。您也可以將多項式擬合作為啟動的參數。線條顏色將是它的一個參數。我們最後要看的是「雙變量」平台,但在「按角色」中有一個變量,這樣我們就可以為每個「按角色」變量獲得單獨的雙變量物件。因此,我將關閉腳本視窗。我將關閉“雙變量”報告。在課程日誌中,我將點擊「分組雙變量腳本」。與上一個腳本一樣,我透過將訊息發送到「混凝土」資料表來啟動「雙變數」平台,該資料表將結果儲存在變數「biv」中,其中「強度」作為「Y」角色,「X」作為「濕度」角色。但現在,我另外將「混凝土類型」加入到「按分析」角色中。讓我們看看當我運行這些線時會是什麼樣子。因此,我們實際上在這個報告視窗中有六個雙變量物件。我在日誌中看到的是一個包含六個元素的清單已被分配。那麼,這個清單是什麼樣子的呢?我將返回腳本編輯器窗口,將滑鼠懸停在“biv”上。它包含六個雙變量物件。因此,我可以向“biv”發送一條訊息。所有物件都會回應,就像我發送“擬合線”時一樣。日誌中顯示的是所有回應對象的清單。如果我們查看視窗——我將透過按住 Ctrl 鍵並點擊第一個線性擬合旁邊的輪廓顯示按鈕來折疊所有這些線性擬合。因為我按住了 Ctrl 鍵,所以它會廣播到視窗中的所有報告,這樣我就可以更輕鬆地滾動。您可以看到,我們已經獲得了 Consolidated Reinforced、Consolidated Standard、EZMix Reinforced、EZMix Standard 等的雙變量擬合。現在,如果我只想定位部分對象,而不是所有雙變量對象怎麼辦?我使用下標。我可以使用單獨的下標來定位一個。但是,讓我們看兩個我們希望多個物件回應的範例。因此,在下標行中,我們提供了我們希望回應的物件的索引值清單。我希望第一個和第三個雙變量物件來擬合該二次模型,即次數為的多項式。因此,我運行行。再次,我將使用 Ctrl 鍵折疊多項式擬合輪廓項,以便於滾動。因此,第一個對象,第一個雙變數對象,具有多項式擬合。第二個沒有。第三個有。當然,第四個、第五個和第六個也沒有。在最後一個例子中,我再次使用了 Index 函數,並使用了它的運算符,也就是兩個雙冒號的中綴運算符。所以,這將以…的增量從第一個數字計數到第二個數字。因此,這將轉到“擬合樣條曲線”選項,該選項位於“靈活”下的紅色三角形選單中。您可以看到可以為其提供的所有各種參數。因此,我們正在嘗試相當靈活的樣條曲線來實現雙變量擬合。因此,我將運行一行。再次注意日誌中——我忘了指出這一點。但是,當我只向其中兩個物件發送訊息時,我會得到一個包含兩個物件的清單。而剛才,當我向其中三個物件發送訊息時,我會得到一個包含三個物件的清單。如果我們看一下,就會發現,第一個和第二個雙變數擬合沒有得到樣條曲線。第三個得到了。第四個得到了。第五個得到了。第六個沒有。因此,我們可以使用“按角色”,並針對該“按變數”的每個等級進行單獨的分析和單獨的物件。然後,我們可以同時或單獨與所有物件進行通訊。以上只是一些在常用的 JMP 平台中啟動分析層並與之互動的範例。