有很多因素使 SAS 成為一個理想的工作場所。 對我來說,選擇在 SAS 工作時最喜歡的事情很容易:現場托兒服務。 我有兩個孩子都在現場托兒所和學前班,老師和設施真的很棒。 另外,只要知道他們整天都在附近就很棒(忽略上下班路上偶爾的崩潰)。 由於我的大女兒剛剛開始上學,我有很多機會來反思我有多喜歡讓他們在校園裡。
去年,我女兒的一位學前班老師為班上的每個孩子做了一個棋盤遊戲。 該遊戲非常適合幫助孩子學習玩棋盤遊戲:每轉一圈,您擲骰子並沿著棋盤移動,直到有人到達終點線。 當然,棋盤上裝飾著流行動畫人物的貼紙,以幫助吸引學齡前兒童的注意力。 只有一個問題:我似乎總是輸。 我可以用嗎JMP弄清楚發生了什麼? 更好的是,我可以使用一些JMP 14 中的新功能?
I always lose playing this homemade board game. My daughter's hippo has a big early lead on my dolphin here.I always lose playing this homemade board game. My daughter's hippo has a big early lead on my dolphin here.I always lose playing this homemade board game. My daughter's hippo has a big early lead on my dolphin here.I always lose playing this homemade board game. My daughter's hippo has a big early lead on my dolphin here.我總是輸掉這個自製的棋盤遊戲。 我女兒的河馬在這裡對我的海豚有很大的領先優勢。
數據
為什麼我總是輸? 我的女兒能更好地擲骰子嗎? 讓我們希望她沒有作弊。 追根究底應該很容易:我們會玩幾場比賽,我會為我女兒和我自己記錄每一個回合的結果。 數據集中的每一行將記錄誰滾動了什麼 (1,2,..., 6)。 如果我使用我的數據建立一個模型並且玩家產生了顯著的影響,我就會知道有什麼事情發生了。
A snapshot of the data.A snapshot of the data.A snapshot of the data.A snapshot of the data.數據快照。收集到我的數據(我們每個人大約 60 轉),我只需要為“滾動”構建一個模型作為“玩家”的功能。 由於 Roll 只需要六個離散值(每個值都具有相等的概率......我希望),我可能不應該做一個傳統的 ANOVA,它假設響應是正態分佈的。 相反,我們可以建立一個有序邏輯回歸模型,因為響應具有自然順序。 幸運的是,JMP 涵蓋了我們。 JMP在 Fit Model 中具有 Ordinal Logistic 個性,在 Fit Model 中具有廣義回歸 (Genreg) 平台JMP 專業版在版本 14 中增加了對序數邏輯回歸的支持。 出於本文的目的,我們將專注於 Genreg,因為它提供了一些強大的功能(我們將在後續文章中看到)。
在 Genreg 中構建序數邏輯模型很容易。 在“擬合模型”對話框中,我們將 Roll 指定為響應,將 Player 指定為唯一的模型效果。 然後我們從 Personality 下拉菜單中選擇“Generalized Regression”。 由於 Roll 列具有 Ordinal 建模類型,因此模型對話框知道默認情況下使分佈 Ordinal Logistic。 如果響應列沒有序數類型,我們將無法選擇 Ordinal Logistic。
Launch Genreg from the Fit Model dialog in JMP Pro.Launch Genreg from the Fit Model dialog in JMP Pro.Launch Genreg from the Fit Model dialog in JMP Pro.Launch Genreg from the Fit Model dialog in JMP Pro.從 JMP Pro 的擬合模型對話框中啟動 Genreg。
結果
那麼結果如何呢? 由於序數回歸對 JMP 來說並不陌生,因此我不會過多地介紹我們所擬合的模型。 相反,您可以查看JMP 文檔或者加州大學洛杉磯分校數字研究與教育研究所網站了解更多信息。 我們在找什麼? 如果我女兒的係數是負數並且與零顯著不同,我知道我有問題。 這表明我的女兒比我更有可能擲出更大的數字。 查看模型輸出,我發現她的係數為負 (-.458),但 p 值 (.31) 在任何合理的測試水平上都不顯著。 這意味著在我錄製的遊戲中,她往往會比我投出更好的數字,但不會超出預期。 預測刻畫器是查看模型告訴我們什麼的好方法。 概率線是對角線,因為可憐的老爸更有可能擲出 1、2 或 3 等較低的數字。
Ordinal Logistic ResultsOrdinal Logistic ResultsOrdinal Logistic ResultsOrdinal Logistic Results序數邏輯結果
我們的反應有一個明顯的順序:二比一好,三比二好,依此類推。 但是我們可以忽略該信息並將響應視為具有名義建模類型。 Genreg 現在也可以處理這種情況,因為我們添加了對版本 14 的多項分佈的支持。 當我們擬合序數模型時,包括玩家效應在內的模型只貢獻了一個參數。 使用多項式,玩家效應為我們的模型貢獻了五個參數——除了最後一個之外,我們的響應的每個級別都有一個參數。 這使得多項式模型比序數模型更加靈活,但是如果我們開始向模型中添加太多效果,模型很快就會變得不穩定。 正如我們在模型輸出中看到的那樣,多項模型並不表明存在顯著的玩家效應。
Multinomial results - still no evidence that my daughter is better with the die.Multinomial results - still no evidence that my daughter is better with the die.Multinomial results - still no evidence that my daughter is better with the die.Multinomial results - still no evidence that my daughter is better with the die.多項結果 - 仍然沒有證據表明我的女兒在模具方面做得更好。
如果她不作弊,我為什麼一直輸?
兩種模型都沒有表明我的女兒在擲骰子時具有顯著優勢,那為什麼我總是輸呢? 在我們家,我們玩遊戲有一個規則:最小的玩家先玩。 而且棋盤上只有 22 個空格,誰先走,誰先到達目標就具有相當大的優勢。 對於這樣一個簡單的遊戲,很容易編寫一個 JSL 程序來模擬遊戲並估計第一個玩家獲勝的可能性。 對於我們的遊戲,看起來第一個玩家有大約 62% 的獲勝機會。 所以我會輸掉大約三分之二的比賽。 這聽起來很對。 出於好奇,我一路走到棋盤上的 100 格,第一個玩家仍然有 55% 左右的可觀優勢。
Simulated probability that the player who goes first will winSimulated probability that the player who goes first will winSimulated probability that the player who goes first will winSimulated probability that the player who goes first will win先走的玩家獲勝的模擬概率
想親自嘗試嗎?
獲取數據表其中包括用於重現我的結果的腳本和一個模擬獲勝概率的模擬腳本。
尋找後續!
我們在JMP 專業版在這裡解決一個非常重要的問題:為什麼我在女兒的棋盤遊戲中輸了的謎團。 那麼我為什麼要使用 Genreg 來分析這些數據呢? 你必須檢查我的下一篇文章找出答案。 但這裡有一個提示:對於更大的問題,這些模型特別容易過擬合,這使得交互式變量選擇工具在 Genreg 中特別有用。