德國坦克問題

在統計學理論的估計中，用不放回抽樣來估計離散型均勻分佈最大值問題中著名的德國坦克問題，它因在第二次世界大戰中用於估計德國坦克數量而得名。這些分析說明了頻率推斷和貝葉斯推斷之間的不同。基於“單個”樣本估計的樣本總數各有不同，而在“多個”樣本的基礎上估計則是現實生活中一個很有意義的估計問題，它的答案很簡單，但並不那麼明顯。範例.假設某個情報人員已經發現了"k"4輛坦克，其序列號分別為2、6、7、14，觀測到的最大的序列號為"m"14。坦克未知的總數設為"N"。按“頻率論”方法的估算公式，計算出坦克總數為：formula_1而“貝葉斯”分析會給出一個估計坦克數量的機率質量函式，如下所示：formula_2從中，我們可以估計坦克數量：formula_3這個分佈的偏度為正，因為其中有一個事實，即至少有14輛坦克。歷史上的問題.在戰爭的過程中，西方盟國一直在努力確定德國的生產速度，並以兩種主要方式得到這個資料：常規情報收集和統計估計。大部分情況下，統計估計的可信度很大程度上決定於常規情報收集。而有時常規情報收集會和統計估計一起結合使用，如在D日前夕估計豹式坦克的生產速度。盟軍指揮機構已經注意到了出現在義大利的五號坦克，速度快，裝備有75 mm/L70長管戰車砲，是很不尋常的重型坦克，但在法國北部編號就很小，就和虎I坦克在突尼西亞那樣。由於謝爾曼坦克在對陣三號坦克和四號坦克時表現良好，美國陸軍對它非常自信，以至於迫不及待地希望與他們相遇。就在D日的不久前，有訊息稱德國手中有大量的五號坦克。為了確定這種說法的真實性，盟軍要嘗試估計正在生產坦克的數量。為此，他們要使用被繳獲或被摧毀的坦克的序列號。他們主要使用變速箱的號碼，因為其為兩個完整的序列。底盤和發動機號碼也有使用，但它們的編號規則比較複雜。各種其他的零件用來對分析結果進行交叉檢查。對輪胎也做了類似的分析，其上觀察到了順序編號（即1、2、3、……、"N")。對坦克車輪的分析產生了對使用中的車輪模具數量的估計。在與英國車輪製造商討論過後，他們估計了這麼多的模具可以生產多少車輪，進而是每個月可生產的坦克數量。對兩輛坦克車輪的分析的結果是1944年2月的生產數量估計在270左右，大大超出此前預期。德國戰後公佈的記錄顯示，1944年2月一個月的生產量是276輛。統計方法結果的精確度是常規情報收集方法所遠遠不能達到的，而“德國坦克問題”這個詞也成為了這種統計分析問題的標誌。估計產量並不是這種序列號分析的唯一應用。它也用於探查更多德國生產的資訊，包括工廠數目、工廠的相對重要性、供應鏈長度、生產工藝的改變、及對諸如橡膠等資源的使用。具體資料.根據常規盟軍情報的估計，德國在1940年6月和1942年9月之間，每月大約能生產1,400輛坦克。將繳獲坦克的序列號代入下文的公式，可計算出每月246輛。戰後，從阿爾伯特·斯佩爾所管轄的部門繳獲的德國生產記錄顯示，實際數目是245輛。某些特定月份的估計如下：類似分析.在二戰期間，類似的序列號分析也在其他軍事裝備上應用過，其中最成功的屬V-2火箭。二戰期間，德國情報部門分析了蘇聯軍事裝備工廠，朝鮮戰爭期間蘇聯裝備工廠也被分析過。蘇聯在二戰期間也估計過德國坦克的生產數。20世紀80年代，一些美國人被獲准進入以色列的梅卡瓦坦克的生產線。生產編號是分類過的，但水箱上有序列號，可以用來估計生產量。該公式在非軍事中也有使用，如估計Commodore 64計算機的總數，其結果與官方數字相當匹配。應對措施.為了防止序列號分析，可以不使用序列號，或者減少可用的輔助資訊。此外可以使用抗密碼分析的序列號，最有效的方法是從比生產物品數量大得多的列表中隨機選擇一個號碼，之後就不再使用，其使序列號變得複雜：如對於加密器，不能一次反推一串序列號，每個號碼都必須單獨查詢，或者是一張生成列表。另外，還可以對連續的序列號進行加密，同時方便解碼，但這會帶來潛在的已知明文攻擊：即使從任意數開始，明文都會具有特定模式。一個例子是在肯·福勒特的小說《程式碼為零》中，木星-C火箭的序列號加密規則為：此處的程式碼字為Huntsville，用以獲得一張10字的鍵值表。因此，13號火箭編為“HN”，而24號火箭則是“UT”。頻率論分析.最小方差無偏估計.對於點估計由下式給出：formula_5其中"m"是所觀察到的最大序號。注意，一旦觀察到一個序列號，它就不再在樣本池中，也不會被再次觀察到。其方差為formula_6因而標準差約為"N"/"k"，即樣本間距的平均大小；注意與前文中的"m"/"k"相比。直觀.公式可以直觀地理解為樣本最大值加上樣本中觀測值之間的平均間距，由於是最大似然估計，樣本最大值被用作初始估計值，再加上間距以補償樣本最大值的負偏差，以此作為總體最大值的一個估計，因而可寫成：formula_7可以想象樣品在整個區間內均勻分佈，而更多的樣本就在0至"N" + 1的區間之外。如果在0和編號最小樣本之間選一個初始間距，那麼樣本間的平均間距是formula_8；有formula_9是因為樣本本身在計算樣本間距時不應算入。這一理念確立並推廣了最大間距估計的方法。推導.樣本最大值等於"m"的機率為formula_10，其中formula_11是二項式係數。樣本最大值的期望值為formula_12因而formula_13為"N"的無偏估計。為了表明這是UMVU估計：置信區間.此外，或者補充來說，對於“點”估計可以進行“區間”估計，如置信區間。基於"k"個樣本落在覆蓋全範圍"p"。因此，樣本最大值的分位數的抽樣分佈曲線是"x"1/"k"在0到1上的影象：樣本最大值"m"的第"p"到第"q"個分位數是區間["p"1/"k""N", "q"1/"k""N"]。反轉這個結果就產生總體最大值的相應置信區間["m"/"q"1/"k", "m"/"p"1/"k"]。下界非常接近"m"，所以取"p" = 5%到100%得到的非對稱置信區間更有意義；"k" = 5時會產生formula_14，所以區間為["m", 1.82"m"]。例如，對"k" = 5，取對稱的95%區間，即令"p" = 2.5%，"q" = 97.5%，可得formula_15 formula_16，所以置信區間大約為formula_17。更一般地，以便參考，可得：從中可發現：注意，"m"/"k"不能天真地用作，在這裡用估計值來估計誤差會造成迴圈論證。在某些領域，尤其是在未來學中，以這種方式基於單個樣本估計置信區間——考慮到它是一個隨機取樣的分位數——稱為哥白尼原則。這一點特別適用於基於目前的年齡來估計壽命，尤其是末日論將其用於估計人類的預期存活時間。貝葉斯分析.在德國坦克問題中，貝葉斯方法要考慮當觀察到的坦克總數formula_19等於數formula_20、序列號最大值formula_21等於數formula_22時敵方坦克總數formula_23等於數formula_24的可信度formula_25為了簡便起見，以下將formula_26寫成formula_27。條件機率的法則會給出formula_28表示式formula_29是當敵方坦克總數等於已知的formula_24、且觀察到了formula_20輛敵方坦克時，所觀察到的序列號最大值等於formula_22的條件機率。其為formula_33其中二項式係數formula_34是從總數為formula_24的總體中取formula_20個樣本的方法數。表示式formula_37是在真正觀測前，假設觀察了"k"輛坦克後，最大序號等於"m"的機率。透過合併所有可能的formula_24，formula_39可以改寫為其它形式。formula_40表示式formula_41為當已觀察到"k"輛坦克、但序列號尚未統計前坦克總數等於"n"的可信度。假定它是某種離散均勻分佈formula_42上限formula_43必須是有限的，因為該函式formula_44的結果為:formula_45，而這不是一個機率質量函式。因而formula_46如果formula_47，那麼不受歡迎的變數formula_48就能從表示式中消失。formula_49當"k" ≥ 1時，敵方坦克數量分佈的眾數為"m"。當"k" ≥ 2時，敵方坦克數量“等於”formula_50的可信度為formula_51而敵方坦克數量formula_23“大於”formula_24的可信度為formula_54當"k" ≥ 3時，formula_55的均值有限：formula_56當"k" ≥ 4時，formula_23的標準差有限：formula_58這些公式將在下面推導。求和公式.下面的等式用二項式係數表示法來簡化德國坦克問題中的級數。formula_59這個求和公式有點類似於積分公式formula_60這些公式在"k" &gt; 1時適用。一輛坦克.從"n"輛坦克的總體中隨機觀察一輛坦克，當"m" ≤ "n"時，其序列號為"m"的機率為1/"n"，而當"m" &gt; "n"時機率是零。用艾弗森括號表示法可寫成formula_61這是formula_22的條件機率質量分佈函式。當"m"為定值時，這是一個"n"的似然函式。formula_63最大似然估計的坦克總數為"N"0 = "m"。總機率為無窮大，因為尾部為一個調和級數數列。formula_64但formula_65其中formula_66為調和數。可信度質量分佈函式依賴於先前的限制formula_48：formula_68formula_23的均值為formula_70兩輛坦克.如果觀察到了兩輛坦克，而不是一輛，那麼所觀察到的兩個序列號中較大值為"m"的機率為formula_71當"m"為定值時，這是一個"n"的似然函式formula_72總機率為formula_73可信度質量分佈函式為formula_74中位數formula_75滿足formula_76所以formula_77因而中位數為formula_78但"N"的均值為無窮大formula_79多輛坦克.可信度質量分佈函式.在序列號{1...,"n"}中觀測到的最大值為"k"的條件機率"m"為formula_80"n"的似然函式表示式與此相同formula_81"k" ≥ 2的總機率為一個有限值：formula_82可信度質量分佈函式為formula_83互補累積分佈函式是"N" &gt; "x"的可信度formula_84累積分佈函式是"N" ≤ "x"的可信度formula_85數量級.敵方坦克數目的數量級為formula_86統計不確定度.統計的不確定度用標準差"σ"表示，其滿足等式formula_87所以formula_88及formula_89方差均值比則為formula_90參考.