【數據分析案例】英雄聯盟美服10000條排位數據分析

英雄聯盟美服10000條排位數據分析

英雄聯盟是2009年美國拳頭遊戲開發一款紅藍雙方互相對抗的MOBA遊戲,每隊有5名隊員,通過擊殺敵方小兵、推塔、擊殺敵方英雄,以最終摧毀敵方主堡作爲勝利的遊戲。

一、數據來源

本次的數據來源是kaggle。
鏈接地址:https://www.kaggle.com/bobbyscience/league-of-legends-diamond-ranked-games-10-min
從數據來源者描述中可以得知,本次數據是通過拳頭數據API獲得的。數據包括鑽一到大師分段的SOLO Q排位每場的前10分鐘數據。總共有接近10000條比賽數據。這些數據值得分析的原因也在於召喚師段位較高,數據較爲穩定。低段位比賽由於玩家水平較低,數據波動會大很多。

這裏需要介紹一下英雄聯盟的排位中隊友和對手的匹配機制:

匹配系統的目的如下,優先級從高到低:
1.保護新手不被有經驗的玩家虐;讓高手局中沒有新手。
2.創造競技和公平的遊戲對局,使玩家的遊戲樂趣最大化。
3.無需等待太久就能找到對手進入遊戲。
4. 匹配系統盡其所能的匹配水平接近的玩家,玩家的水平是來自他們在此之前贏了誰以及他們對手的水平。

數據包括:
最終比賽結果,一血擊殺方,藍色方擊殺數,藍色方死亡數,藍色方助攻數,藍色方控制守衛數量,藍色方排眼數,藍色方精英怪擊殺數,藍色方小兵擊殺數,藍色方推塔數,藍色方龍擊殺數,藍色方獲得金幣數,藍色方獲得經驗,藍紅雙方金幣差,藍紅雙方經驗差,以及紅色方相對應的一些數據。

二、探索的問題

從上面的數據可以看出英雄聯盟中有很多的遊戲元素,這些遊戲元素都在影響比賽進程,最終決定比賽結果。比如一血的擊殺可以給隊伍帶來更多的金幣,影響兵線。比如更多的助攻代表着更加團隊的打法。如果一場比賽中擊殺很少,那比賽可能會陷入互相發育的無聊階段,此時小兵的擊殺數會和防禦塔摧毀數量會影響金幣進而影響裝備。等等。。。

從這些數據中我要探索的問題是:

  1. 前10分鐘的平均數據是什麼樣的,從平均數據中推測鑽一到大師分段前10分鐘比賽時會出現的情況。

  2. 隨着比賽場次的增加以及玩家對遊戲版本理解的深入,遊戲數據平均值是否發生波動?這些波動反應了召喚師們對遊戲理解的哪些改變?

以及最終的目標:
哪些數據會影響比賽結果,是正向相關還是負向相關?是否能從前10分鐘比賽數據預測最終的比賽結果?預測的準確率是多少?

三、

在進行數據探索之前,首先要考慮這些數據的均值等是否能代表全部數據的真實情況。
舉個簡單的例子,這10000條數據是否都是在同一遊戲版本中進行的。如果發生過版本變動,那麼其中一個版本的數據並不能代表另一個版本的真實情況。同樣,如果數據不是發生在同一版本中,預測比賽結果也就無從談起。

在原始數據中包含了每場比賽的唯一id(gameId),觀察比賽id可以得知這些id在原始數據中是是亂序,但是id前三位數之間的差距不大。例如連續三行數據的id可能是:

450xxxxxxx
447xxxxxxx
449xxxxxxx

由此可以推測出兩種可能性:

  1. 原始表中的數據順序並不是真實比賽發生的時間順序,比賽id前三位排序後可能是真實的比賽時間順序。
  2. 原始表的順序就是真實比賽發生的時間順序,遊戲id並沒有太大的參考意義。

假設以比賽id是真實的時間順序
從下方藍色方勝敗場數圖中可以看出比賽id爲42XXXX,43XXXX,44XXXXXX,45XXXX 之間的比賽總數量相差很大,不應該爲不同版本之間的差異。
並且10000場比賽對於英雄聯盟美服來講也並不是特別大量的比賽場次。

因此暫推測比賽數據發生在同一遊戲版本中,並且原始數據表的順序即爲真是比賽時間發生順序。

藍色方勝敗場數及藍色方勝率

那麼要探索的問題:
一、前10分鐘的平均數據是什麼樣的,從平均數據中推測鑽一到大師分段前10分鐘比賽時會出現的情況。

對這些數據進行彙總:

10分鐘平均數據
從上表中可以得知:

  1. 藍色方勝率49.9%。從遊戲地圖設置上,紅藍雙方相對公平性。同樣由於遊戲平衡性較好,因此從平均值來看紅藍雙方的數據相差不大,因此本表中僅體現藍色方數據。
  2. 10分鐘時單方擊殺數爲6.2個,助攻數爲6.6個,平均每擊殺助攻數1.1。說明遊戲前期(對線期)擊殺主要來自於單殺或小規模團戰或2人協作擊殺對面單人,而非大規模團戰。
  3. 藍紅雙方經濟差平均爲14.4。這裏要說明,當藍色方金幣數比紅色方高時,該數值爲正值;當紅色方金幣數比藍色方高時,該數值爲負數。該數據平均值代表了遊戲對藍紅雙方是否公平,14.4平均經濟差值在遊戲中已足夠小,說明遊戲總體公平。
    同樣,對所有經濟差取絕對值後再平均,代表了遊戲中10分鐘時雙方經濟差的平均水平。
    計算後得到經濟差絕對值平均數:1931.59。說明在10分鐘時領先的一方相當於每人領先對面敵方一個小件裝備,如果考慮經濟大部分集中在雙C位,那麼相當於雙C每人領先對面半件大裝備。
  4. 平均控制守衛數是22.2個,破壞對方控制守衛數是2.8個。前期真眼和掃描眼比較少,破壞對方控制守衛數比較少可以理解。
  5. 平均等級爲6.9級,考慮到C位經驗領先與輔助等位置,因此10分鐘時基本是全員剛有大招的時候。由此推測10分鐘前在平穩的對線期,10分鐘後團長將變多。
  6. 全隊小兵擊殺數(補刀)平均值數是216個,分均補刀21.6個。這在英雄聯盟全部玩家中算是比較高的水平,不愧是鑽1到大師的水平。

二、隨着服務器中比賽場次的增加以及玩家對遊戲版本理解的深入,遊戲數據是否發生波動?這些波動反應了召喚師們對遊戲理解的哪些改變?

原始數據本身是沒有時間屬性的。爲了探尋比賽數據隨比賽發生時間(非比賽內時間)的變化,我這裏將全部數據按原始數據順序分爲5份,分別標記爲“A、B、C、D、E”5個階段。對數據進行探索。

再次說明,10000場數據量並不是很大,很可能這些數據僅產生在幾天內。短時間的數據波動可能並不能真實代表玩家玩法的變化。以下內容爲探索。

  1. 雖然這10000場藍色方總勝率是49.9%,很接近50%,但將數據分段可以看到大多數時間藍色方勝率是不足50%的。(雖然差距並不大)▼

藍色方勝敗場數及藍色方勝率

  1. 總獲得金幣,擊殺,助攻數,每擊殺助攻數折線圖中可以看出,ABCD四個階段藍紅雙方的對抗是相對減弱的。尤其從每擊殺助攻數可以看出,D階段發生了更少的團戰,單殺的比率增加。總金幣減少,遊戲前期獲得裝備的也減慢。但在D階段,召喚師們又開始熱衷於擊殺和團戰。▼

總金幣數

總擊殺數
總助攻數

每擊殺助攻數

  1. 推塔情況總體變化不大,每場平均推塔0.1個左右。說明在10分鐘時雙方基本都不會推掉對方防禦塔。防禦塔的經濟影響可忽略。
    當線上擊殺變少,補兵變少的時候。我們的打野在幹什麼呢?從小兵及野怪擊殺圖和龍擊殺圖中可以看出,我們的打野在一門心思的在地圖上刷野和控龍。也許他們覺得去線上幫助隊友拿到優勢的策略並不可靠。打野不來幫助線上擊殺對面,所以ABCD階段總擊殺和助攻都減小了的數據也就更爲合理。▼

總推塔數

小兵及野怪擊殺數

龍擊殺數

  1. 影響比賽結果的經濟差
    從紅藍雙方的經濟差可以發現,經濟差的變化趨勢與勝率的變化趨勢相似。可以推測,雙方經濟差是影響比賽結果的關鍵因素之一。這對下一步預測比賽結果也有重要意義。
    從藍紅雙方經濟差絕對值趨勢可以看出,“A、B、C、D、E”5個階段總體雙方經濟差是拉大的。也就是說在前10分種內隨着對版本理解的深入,佔得優勢的一方會將優勢擴大更多。▼

藍紅雙方經濟差

藍紅雙方經濟差絕對值

  1. 暫時不能理解的趨勢
    從總經驗趨勢圖中可以看出,BCD三個階段雙方總經驗和是保持在高位的。但從上面數據也看到,擊殺、助攻、每擊殺助攻數、小兵擊殺數在這幾個階段都是下降的。那這些經驗從何而來呢?是因爲野怪擊殺數和龍擊殺數增多麼?我保持懷疑。▼

總經驗
三、哪些數據會影響比賽結果,是正向相關還是負向相關?是否能從前10分鐘比賽數據預測最終的比賽結果?預測的準確率是多少?

我們最想知道的還是是否能從前10分鐘數據中預測比賽結果。使用機器學習的方法對數據進行分析。在本文中只接單介紹過程。

  1. 數據清洗及變量轉換
    查看數據類型和缺失情況。轉換部分數據類型及範圍以方便機器學習。
  2. 特徵工程
    原始數據中記錄了很多雙方數據,但對勝負影響大的因素並不是藍色方擊殺了幾次,紅色方擊殺了幾次,而應該是雙方數據的差值。比如哪一方拿到了一血,擊殺數差值,助攻數差值,平均經驗差值,平均等級差值,小兵擊殺數差值等等。
    在這一階段通過組合方式獲得更多特徵。
    例如:藍色方拿到一血時,藍色方更容易獲勝。藍色方擊殺龍後更容易獲勝。(注:1是藍色方勝或擊殺龍或藍色方拿到一血,0是紅色方勝或拿小龍或紅色方拿到一血)▼

在這裏插入圖片描述

並通過相關係數矩陣簡單探索數據相關性。▼

相關係數矩陣

  1. 輸入模型前的一些處理
    包括數據正則化,去掉部分無用特徵,分割訓練數據和測試數據等等。我這裏將20%數據分割爲測試數據。

  2. 模型融合
    採用Stacking框架融合。第一層使用RandomForest、AdaBoost、ExtraTrees、DecisionTree、KNN、SVM ,一共6個模型。
    第二層使用XGBoost對數據進行最終預測。採用準確率accuracy_score方法對預測結果進行評分。

最終評分0.729分。後續有繼續優化空間,例如根據特徵重要性篩選特徵,組合部分特徵,參數優化等。▼

評分

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章