我想做一些非常簡單的事情。 為簡單起見,假設我有兩組,假設第 1 組中的 N=2,000 和第 2 組中的 N=3,000。 我想計算為每個組收集的變量 Y 的總體平均值。 Y 在第 1 組中的平均值為 4,在第 2 組中為 8。 這裡的整體平均值是未加權平均值而不是加權平均值——它應該是 6。 我可能認為我應該為“重量”輸入以下值:
第 1 組:5,000/2,000
第 2 組:5,000/3,000
但是這些並沒有產生預期的數字。 您能幫我理解 Analyze:JMP 中的“權重”選項,並告訴我我需要使用哪些權重來解決我的問題嗎?
除非我誤讀了您的帖子,否則查找每個組的平均值的一種方法是使用兩列構建數據表,“組”作為名義變量,“Y”作為第二列中的連續變量。 然後運行一個簡單的分發平台,在 By 窗口中使用“Group”變量,在 Y,columns 窗口中使用“Y”變量,您將獲得兩個直方圖和匯總統計表,一個對應於“Group”列中的每個值. 您無需費心使用“權重”窗口。
首先,重量不是頻率。 如果你知道 Freq 做了什麼,那麼 Weight 會做一些不同的事情,或者額外的事情。
我想指出以下兩篇SAS文章:
用我的話來說,只有當你想改變個人觀察如何影響你的分析時才使用權重。 例如,在上面的第二篇文章中,人們可能想要緩和異常值對分析的影響。
因此,無論您是否想使用權重,以及如何使用它,您都可能想問問自己,它會如何影響您的分析以及如何解釋這種影響。
在您提供的示例中,按照您的描述,我只能想像您有某種匯總數據,然後您想使用 Weight 來“糾正”來自各個組的匯總統計數據的貢獻。 但我不知道有任何 JMP 平台被設計用於處理匯總數據,除了 Help>Sample Index 下的一些工具。 如果您的數據是原始形式,則不需要我同事所說的重量。
我想,我明白你想要什麼,但不明白它需要什麼。 我同意上面的答案,重量可能不是正確的方法。
如果你想簡單一點,我會使用兩步法,首先計算組均值,然後計算均值的均值(忽略頻率)。
因此,這意味著您希望每個組的權重均勻,平均值為 6,請參見第二個屏幕截圖。
但是 JMP 中的標準是,每一行具有相同的權重,正如其他人已經指出的那樣。 如果您真的需要在一個“堆疊表”中執行此操作,您需要以這種方式計算權重,結果就是您想要的,但是使用更多組可能會變得非常複雜和混亂 - 所以我不推薦.
只是為了說明見下面的腳本。


Names Default To Here( 1 );
// generate example table
dt = New Table( "test weight",
add rows( 5000 ),
New Column( "group", formula( If( Row() > 2000, "B", "A" ) ) ),
New Column( "value", formula( If( Row() > 2000, Random Normal( 8, 1 ), Random Normal( 4, 1 ) ) ) ),
New Column( "weight", formula( If( Row() > 2000, 5000 / 6000, 5000 / 4000 ) ) ),
New Column( "mean", formula( Col Mean( :value ) ) ),
New Column( "group mean", formula( Col Mean( :value, :group ) ) )
);
dt << add properties to table(
{new script(
"By Distribution",
Distribution( Stack( 1 ), Continuous Distribution( Column( :value ), Horizontal Layout( 1 ), Vertical( 0 ) ), By( :group ) )
), new script(
"Weighted Distribution",
Distribution( Stack( 1 ), Continuous Distribution( Column( :value ), Horizontal Layout( 1 ), Vertical( 0 ) ), weight( :weight ) )
)}
);
dt_sum = dt << summary( subgroup( :group ), Mean( value ) );
dt_sum << New Column( "all mean", Formula( Mean( :"Mean(value, A)"n, :"Mean(value, B)"n ) ) );