3

我目前正在使用基於一系列請求和系統狀態進行調度決策的系統。將事件序列的測量值作爲輸入,如何生成具有相同配置文件的無限輸入序列?

我想採取真正的輸入流,模擬出一些組件,並對其餘的運行模擬。這個想法是用它來規劃系統容量(即何時對某些組件進行縮放),追蹤某些失效模式,並分析變更對代碼庫的影響(例如,與使用版本B進行仿真相比,版本A的仿真) 。

我可以做所有與此相關的事情,除了生成合適的輸入流。重放生產中的確切輸入並不是很有用,因爲很難獲得足夠長的數據流來梳理我試圖找到的一些行爲。換句話說,如果產量在300天投入時就會下降,我沒有足夠的數據才能發現,直到它發生崩潰。已經考慮重複相同的輸入集合;但經過幾次初步嘗試後,開發人員都認爲模擬似乎「需要更多的隨機」。

關於該特定的系統:

  • 輸入是一系列不規則間隔的事件(即,具有離散時間和連續狀態空間中的隨機過程)的。
  • 屬性不是independent彼此。
  • 即使是更獨立的屬性,其他屬性的組合也將永遠是本質上看不見的(導致multi-modal distribution)。
  • 請求間隔並非獨立於其他屬性(即大量請求少量資源通過批處理,大請求不需要)。
  • 它有反饋循環。
  • 它證明是混亂的。

所以:

給定的輸入事件流具有各種特性(包括間隔)的一定的分佈,如何跨多個非生成具有相同的分佈事件的無限流獨立屬性?

環顧四周,我想我需要做一個馬爾可夫鏈蒙特卡羅模擬。我的問題是如何從現有的輸入數據構建馬爾可夫鏈。

回答

1

也許可以使用Copula對輸入建模。有些工具可以幫助你做到這一點,例如見this paper。除此之外,我建議將該問題移至http://stats.stackexchange.com,因爲這是一個統計問題,並且可能會在那裏引起更多關注。

相關問題