Upgrade to Pro — share decks privately, control downloads, hide ads and more …

予約データから未来の客数を予測する:第22回 Machine Learning 15minutes! / Predict number of customers in restaurants

予約データから未来の客数を予測する:第22回 Machine Learning 15minutes! / Predict number of customers in restaurants

トレタの保持する飲食店の予約データを使って、未来のお客様の数を予測するモデルを構築します。予約データの特性と時系列モデリングの導入から説明します。
本資料は下記の勉強会で発表いたしました。
2018年3月31日「第22回 Machine Learning 15minutes! 」
https://machine-learning15minutes.connpass.com/event/78109/

Tetsuro Shimada

March 31, 2018
Tweet

More Decks by Tetsuro Shimada

Other Decks in Technology

Transcript

  1. 5PSFUB *OD"MMSJHIUSFTFSWFE τϨλͷ໾ׂ   w τϨλ͸ҿ৯ళͷόοΫϘʔϯͱͯ͠ɺҿ৯ళͷ༧໿ΦϖϨʔγϣϯΛࢧ͍͑ͯ·͢ ͓٬༷ ҿ৯ళ τϨλ

    ϝσΟΞ ݕࡧྲྀೖ Ϛε޿ࠂ ωοτ༧໿ ༧໿ΦϖϨʔγϣϯ αϙʔτ ి࿩༧໿ τϨλωοτ༧໿ ༧໿৘ใ ސ٬৘ใ ళฮ৘ใ
  2. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧໿σʔλͷಛੑ   ༧໿ ೔ɹɹ෇ ࣌ɹɹؒ ਓɹɹ਺ ໊ɹɹલ

    ి࿩൪߸ ళɹɹฮ ςʔϒϧ ίʔε ɹ d ໊ τϨλଠ࿠  ϨετϥϯτϨλ ൪ςʔϒϧ τϨλίʔε ϋογϡ*%ʹͯ͠ ಗ໊Ճ޻ ΢ΥʔΫΠϯ ٬਺ ʴ ʹ ೔ɹɹ෇ ࣌ɹɹؒ ਓɹɹ਺ ళɹɹฮ ςʔϒϧ ɹ d ໊ ϨετϥϯτϨλ ൪ςʔϒϧ ✴༧໿ແ͠Ͱདྷళ͢Δ͓٬༷ ✴τϨλͷ৔߹ɺΦϖϨʔγϣϯ্ͷೖྗ
 ·ͨ͸104࿈ܞͰσʔλԽ͞ΕΔ ੮਺ ʽ
  3. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧໿σʔλͷಛੑ       

           ະདྷͷσʔλ ࠓ೔ աڈͷσʔλ
  4. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌϞσϧͷߏங ࢖༻͢ΔٙࣅσʔλΛੜ੒      

                                       ʴ ʴ ٬਺ͷฏۉ िͷมಈ قઅมಈ
  5. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌϞσϧͷߏங Ϟσϧͷબఆ   ঢ়ଶۭؒϞσϧ "3*."Ϟσϧ ༩͑ΒΕͨσʔλʹରͯ͠֊ࠩʢ϶:U:U:Uʣ ΛऔΓɺτϨϯυΛআڈͯ͠ఆৗੑΛ֬อ্ͨ͠

    Ͱ"3."ϞσϧΛద༻͢Δɻ"3."Ϟσϧ͸"3 Ϟσϧͱ."ϞσϧΛϛοΫεͨ͠΋ͷͰɺʮকདྷ ͷ:͸ɺաڈͷ:ͱաڈͷޡࠩʹΑͬͯઆ໌͞ΕΔʯ ͱ͢ΔϞσϧͷ͜ͱɻ ࣌ؒʹԊͬͯมԽ͢Δʮঢ়ଶʯͱɺঢ়ଶ͔ΒϊΠ ζΛ൐ͬͯ஋͕ʮ؍ଌʯ͞ΕΔͱ͢ΔϞσϧɻ໨ తม਺ʹର͢Δઆ໌ม਺ͷӨڹͷղऍ͕༰қͰɺ σʔλ఺ʹܽଛ͕͋ͬͨ৔߹Ͱ΋ϞσϧԽͰ͖Δɻ yt = 0.85yt 1 + 0.23yt 2 + ✏t 1 + · · · <latexit sha1_base64="itPa1b/VC3z3HFMOGl8kHfZeUDc=">AAACHHicbVDLSsNAFL3xWeur6tJNVARBGpKKWBeC6MalgrWFtpTJ9KYOnUzizEQoIR/iyk/RjaCIK0HwQ9w7fSy0emDgcM653LnHjzlT2nU/rYnJqemZ2dxcfn5hcWm5sLJ6paJEUqzQiEey5hOFnAmsaKY51mKJJPQ5Vv3uad+v3qJULBKXuhdjMyQdwQJGiTZSq7DXa6U6O3Kd8n6fFb1s13VKA7VYynYbGCvGTXBoNWg70qpV2HIddwD7L/FGZOt4Y+frEQDOW4X3RjuiSYhCU06Uqgccb0QzJVIzyjHLNxKFMaFd0sG6oYKEqJrp4LrM3jZK2w4iaZ7Q9kD9OZGSUKle6JtkSPS1Gvf64n9ePdFBuZkyEScaBR0uChJu68juV2W3mUSqec8QQiUzf7XpNZGEalNo3rTgjd/8l1RKzqHjXZg2TmCIHKzDJuyABwdwDGdwDhWgcAcP8Awv1r31ZL1ab8PohDWaWYNfsD6+AUOto1s=</latexit> <latexit sha1_base64="nxzWe0vbD8iGmNxNLgkl2zklrLs=">AAACHHicbVBNS8NAFNzU7/pV9eglKkKlNCQVUQ9C0YvHCtYWmlI225d26WYTdzdCCfkNnj35UwRBUMSTIPhDvLttPWjrwMIwM4+3b7yIUals+9PITE3PzM7NL2QXl5ZXVnNr61cyjAWBKglZKOoelsAoh6qiikE9EoADj0HN650N/NoNCElDfqn6ETQD3OHUpwQrLbVy+/1WotIT2zo6GLCikxZsqzRUi6W04EIkKdPBkeWSdqhkK7djW/YQ5iRxfshOeSv/9Xjr7lVauXe3HZI4AK4Iw1I2fAbXvJlgoShhkGbdWEKESQ93oKEpxwHIZjK8LjV3tdI2/VDox5U5VH9PJDiQsh94Ohlg1ZXj3kD8z2vEyj9qJpRHsQJORov8mJkqNAdVmW0qgCjW1wQTQfVfTdLFAhOlC83qFpzxmydJtWQdW86FbuMUjTCPNtE2yiMHHaIyOkcVVEUE3aEH9IxejHvjyXg13kbRjPEzs4H+wPj4BreKpHE=</latexit> <latexit sha1_base64="nxzWe0vbD8iGmNxNLgkl2zklrLs=">AAACHHicbVBNS8NAFNzU7/pV9eglKkKlNCQVUQ9C0YvHCtYWmlI225d26WYTdzdCCfkNnj35UwRBUMSTIPhDvLttPWjrwMIwM4+3b7yIUals+9PITE3PzM7NL2QXl5ZXVnNr61cyjAWBKglZKOoelsAoh6qiikE9EoADj0HN650N/NoNCElDfqn6ETQD3OHUpwQrLbVy+/1WotIT2zo6GLCikxZsqzRUi6W04EIkKdPBkeWSdqhkK7djW/YQ5iRxfshOeSv/9Xjr7lVauXe3HZI4AK4Iw1I2fAbXvJlgoShhkGbdWEKESQ93oKEpxwHIZjK8LjV3tdI2/VDox5U5VH9PJDiQsh94Ohlg1ZXj3kD8z2vEyj9qJpRHsQJORov8mJkqNAdVmW0qgCjW1wQTQfVfTdLFAhOlC83qFpzxmydJtWQdW86FbuMUjTCPNtE2yiMHHaIyOkcVVEUE3aEH9IxejHvjyXg13kbRjPEzs4H+wPj4BreKpHE=</latexit> <latexit sha1_base64="nq6Ar537NU0mM/CXMyUdP2ieBao=">AAACHHicbVDLSsNAFJ3UV62vqks3wSIIpSGpiHUhFN24rGBtoQ1hMr1ph04mcWYilJAPceWnuBIUcSUI/o3Tx0JbDwwczjmXO/f4MaNS2fa3kVtaXlldy68XNja3tneKu3t3MkoEgSaJWCTaPpbAKIemoopBOxaAQ59Byx9ejf3WAwhJI36rRjG4Ie5zGlCClZa84snIS1V2YVu10zGrOFnZtqoTtVLNyl2IJWU6OLW6pBcp6RVLtmVPYC4SZ0ZKaIaGV/zs9iKShMAVYVjKTsDgnrspFooSBlmhm0iIMRniPnQ05TgE6aaT6zLzSCs9M4iEflyZE/X3RIpDKUehr5MhVgM5743F/7xOooKam1IeJwo4mS4KEmaqyBxXZfaoAKLYSBNMBNV/NckAC0yULrSgW3Dmb14kzap1bjk3dql+Oasjjw7QITpGDjpDdXSNGqiJCHpEz+gVvRlPxovxbnxMozljNrOP/sD4+gE9iKEd</latexit> աڈͷ஋ʹෳࡶͳԋࢉΛͯ͠ ະདྷͷ஋Λܭࢉ͢Δ yt = µt + ✏t <latexit sha1_base64="lhTgQbTWtsGqxDJTL2wbLQ29tWs=">AAACA3icbVA9SwNBEJ2LXzF+Re3U4jAIghByNmohBG0sEzAmkBxhbzOXLNnbO3f3hHAErPwpVoIiFjb+Cis7f4p7SQpNfLDs2/dmmJ3nRZwpXSp9WZm5+YXFpexybmV1bX0jv7l1o8JYUqzRkIey4RGFnAmsaaY5NiKJJPA41r3+ZerX71AqFoprPYjQDUhXMJ9Roo3Uzu8M2okenreCOL2PWhgpxo1hHu18oVQsjWDPEmdCCuW99+o3AFTa+c9WJ6RxgEJTTpRq+hxvhZsQqRnlOMy1YoURoX3SxaahggSo3GS0xNA+MErH9kNpjtD2SP3dkZBAqUHgmcqA6J6a9lLxP68Za//UTZiIYo2Cjgf5Mbd1aKeJ2B0mkWo+MIRQycxfbdojklBtcsuZFJzpnWdJ7bh4VnSqJo0LGCMLu7APh+DACZThCipQAwr38AjP8GI9WE/Wq/U2Ls1Yk55t+APr4wfvlJtx</latexit> <latexit sha1_base64="nD9Da+AXzw4U9g+e1E7sO1J7LQU=">AAACA3icbVDLSsNAFJ3UV62vqDsVCRZBEEriRl0IRTcuWzC20JQymd60g5NJnJkIIRTc6Ke4EhRx0Y1f4cpv8CecPhbaemCYM+fcy517/JhRqWz7y8jNzM7NL+QXC0vLK6tr5vrGtYwSQcAlEYtE3ccSGOXgKqoY1GMBOPQZ1Pybi4FfuwMhacSvVBpDM8QdTgNKsNJSy9xKW5nqnXlhMrgPPYglZdrQj5ZZtEv2ENY0ccakWN7pV78fdvuVlvnptSOShMAVYVjKRsDgljczLBQlDHoFL5EQY3KDO9DQlOMQZDMbLtGz9rXStoJI6MOVNVR/d2Q4lDINfV0ZYtWVk95A/M9rJCo4aWaUx4kCTkaDgoRZKrIGiVhtKoAolmqCiaD6rxbpYoGJ0rkVdArO5M7TxD0qnZacqk7jHI2QR9toDx0gBx2jMrpEFeQigu7RE3pBr8aj8Wy8Ge+j0pwx7tlEf2B8/ADN2ZzX</latexit> <latexit sha1_base64="nD9Da+AXzw4U9g+e1E7sO1J7LQU=">AAACA3icbVDLSsNAFJ3UV62vqDsVCRZBEEriRl0IRTcuWzC20JQymd60g5NJnJkIIRTc6Ke4EhRx0Y1f4cpv8CecPhbaemCYM+fcy517/JhRqWz7y8jNzM7NL+QXC0vLK6tr5vrGtYwSQcAlEYtE3ccSGOXgKqoY1GMBOPQZ1Pybi4FfuwMhacSvVBpDM8QdTgNKsNJSy9xKW5nqnXlhMrgPPYglZdrQj5ZZtEv2ENY0ccakWN7pV78fdvuVlvnptSOShMAVYVjKRsDgljczLBQlDHoFL5EQY3KDO9DQlOMQZDMbLtGz9rXStoJI6MOVNVR/d2Q4lDINfV0ZYtWVk95A/M9rJCo4aWaUx4kCTkaDgoRZKrIGiVhtKoAolmqCiaD6rxbpYoGJ0rkVdArO5M7TxD0qnZacqk7jHI2QR9toDx0gBx2jMrpEFeQigu7RE3pBr8aj8Wy8Ge+j0pwx7tlEf2B8/ADN2ZzX</latexit> <latexit sha1_base64="kGnQDiF59M+2vpQ1nnkBDHWZnyA=">AAACA3icbVDLSsNAFJ3UV62vqDvdBIsgCCV1oy6EohuXFYwtNCFMpjft0MkkzkyEEAqu/BRXgiJu/QpX/o2TNgttPTDMmXPu5c49QcKoVLb9bVQWFpeWV6qrtbX1jc0tc3vnTsapIOCQmMWiG2AJjHJwFFUMuokAHAUMOsHoqvA7DyAkjfmtyhLwIjzgNKQEKy355l7m52p84UZpcR+7kEjKtKEfvlm3G/YE1jxplqSOSrR988vtxySNgCvCsJS9kME993IsFCUMxjU3lZBgMsID6GnKcQTSyydLjK1DrfStMBb6cGVN1N8dOY6kzKJAV0ZYDeWsV4j/eb1UhWdeTnmSKuBkOihMmaViq0jE6lMBRLFME0wE1X+1yBALTJTOraZTaM7uPE+ck8Z5o3lj11uXZRxVtI8O0BFqolPUQteojRxE0CN6Rq/ozXgyXox342NaWjHKnl30B8bnD9+amSw=</latexit> µt = µt 1 + ⌘t <latexit sha1_base64="VhCuoI49ttBxPIJ8kwbpIA78Kos=">AAACA3icbVA9SwNBEJ2LXzF+Re20OQ1CQAw5G7UQgjaWETwTyIWwt5lLluztnbt7QjgCVv4UK0ERW8H/YOUPsXfzUWj0wTCP92bYnefHnCldLn9amZnZufmF7GJuaXlldS2/vnGtokRSdGnEI1n3iULOBLqaaY71WCIJfY41v3c+9Gu3KBWLxJXux9gMSUewgFGijdTKb3lh0kr14HTcD5zBvoeaDKVWvlAulUew/xJnQgqVneLXOwBUW/kPrx3RJEShKSdKNQKON6KZEqkZ5TjIeYnCmNAe6WDDUEFCVM10dMTA3jNK2w4iaUpoe6T+3EhJqFQ/9M1kSHRXTXtD8T+vkejguJkyEScaBR0/FCTc1pE9TMRuM4lU874hhEpm/mrTLpGEapNbzqTgTN/8l7iHpZOSc2nSOIMxsrANu1AEB46gAhdQBRco3MEDPMGzdW89Wi/W63g0Y012NuEXrLdv8aWazQ==</latexit> <latexit sha1_base64="Jps0U1ADiJim1dk2qNfvw17azig=">AAACA3icbVDLSsNAFJ34rPUVdaebaBEqYkncqAuh6MZlBWsLTQiT6U07dDKJMxOhhIIrt/6FK0ERt278BVd+iHunj4W2Hrjcwzn3MnNPkDAqlW1/GVPTM7Nz87mF/OLS8sqqubZ+LeNUEKiSmMWiHmAJjHKoKqoY1BMBOAoY1ILOed+v3YKQNOZXqpuAF+EWpyElWGnJNzfdKPUz1Tsd9gOnt++Cwn3JNwt2yR7AmiTOiBTK28Xvjwd3r+Kbn24zJmkEXBGGpWyEDG64l2GhKGHQy7uphASTDm5BQ1OOI5BeNjiiZ+1qpWmFsdDFlTVQf29kOJKyGwV6MsKqLce9vvif10hVeOxllCepAk6GD4Ups1Rs9ROxmlQAUayrCSaC6r9apI0FJkrnltcpOOM3T5LqYemk5FzqNM7QEDm0hXZQETnoCJXRBaqgKiLoDj2iZ/Ri3BtPxqvxNhydMkY7G+gPjPcfZZGb4w==</latexit> <latexit sha1_base64="Jps0U1ADiJim1dk2qNfvw17azig=">AAACA3icbVDLSsNAFJ34rPUVdaebaBEqYkncqAuh6MZlBWsLTQiT6U07dDKJMxOhhIIrt/6FK0ERt278BVd+iHunj4W2Hrjcwzn3MnNPkDAqlW1/GVPTM7Nz87mF/OLS8sqqubZ+LeNUEKiSmMWiHmAJjHKoKqoY1BMBOAoY1ILOed+v3YKQNOZXqpuAF+EWpyElWGnJNzfdKPUz1Tsd9gOnt++Cwn3JNwt2yR7AmiTOiBTK28Xvjwd3r+Kbn24zJmkEXBGGpWyEDG64l2GhKGHQy7uphASTDm5BQ1OOI5BeNjiiZ+1qpWmFsdDFlTVQf29kOJKyGwV6MsKqLce9vvif10hVeOxllCepAk6GD4Ups1Rs9ROxmlQAUayrCSaC6r9apI0FJkrnltcpOOM3T5LqYemk5FzqNM7QEDm0hXZQETnoCJXRBaqgKiLoDj2iZ/Ri3BtPxqvxNhydMkY7G+gPjPcfZZGb4w==</latexit> <latexit sha1_base64="Y7zU3dDTjwVbV5YuI4Y3xk17JdE=">AAACA3icbVBNS8NAEN3Ur1q/ot70EiyCIJbEi3oQil48VjC20ISw2U7apZtN3N0IJQQ8+VM8CYp49Vd48t+4aXvQ6oNhHu/NsDsvTBmVyra/jMrc/MLiUnW5trK6tr5hbm7dyiQTBFySsER0QiyBUQ6uoopBJxWA45BBOxxeln77HoSkCb9RoxT8GPc5jSjBSkuBuePFWZCr4nzSj5zi0AOFSykw63bDHsP6S5wpqaMpWoH56fUSksXAFWFYym7E4I77ORaKEgZFzcskpJgMcR+6mnIcg/Tz8RGFta+VnhUlQhdX1lj9uZHjWMpRHOrJGKuBnPVK8T+vm6no1M8pTzMFnEweijJmqcQqE7F6VABRbKQJJoLqv1pkgAUmSudW0yk4szf/Je5x46zhXNv15sU0jiraRXvoADnoBDXRFWohFxH0gJ7QC3o1Ho1n4814n4xWjOnONvoF4+Mb64CYjw==</latexit> ؍ଌํఔࣜ ঢ়ଶํఔࣜ աڈͷ஋͕ະདྷͷ஋ʹ༩͑ΔӨڹΛղऍ͠΍͍͢ ଞͷཁҼ΋ϞσϧʹՃ͑΍͍͢
  6. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌϞσϧͷߏங Ϟσϧͷઃܭ   w 1ZUIPOͷTUBUTNPEFMTύοέʔδͷ6OPCTFSWFE$PNQPOFOUTΛ࢖༻͠·͢ Φϓγϣϯ Ϟσϧ໊

    Ϟσϧࣜ ֓ཁ ֓ཁ -PDBMMFWFM -PDBMMJOFBS USFOE 4FBTPOBM $ZDMF IUUQXXXTUBUTNPEFMTPSHEFWHFOFSBUFETUBUTNPEFMTUTBTUBUFTQBDFTUSVDUVSBM6OPCTFSWFE$PNQPOFOUTIUNM yt = µt + ✏t <latexit sha1_base64="lhTgQbTWtsGqxDJTL2wbLQ29tWs=">AAACA3icbVA9SwNBEJ2LXzF+Re3U4jAIghByNmohBG0sEzAmkBxhbzOXLNnbO3f3hHAErPwpVoIiFjb+Cis7f4p7SQpNfLDs2/dmmJ3nRZwpXSp9WZm5+YXFpexybmV1bX0jv7l1o8JYUqzRkIey4RGFnAmsaaY5NiKJJPA41r3+ZerX71AqFoprPYjQDUhXMJ9Roo3Uzu8M2okenreCOL2PWhgpxo1hHu18oVQsjWDPEmdCCuW99+o3AFTa+c9WJ6RxgEJTTpRq+hxvhZsQqRnlOMy1YoURoX3SxaahggSo3GS0xNA+MErH9kNpjtD2SP3dkZBAqUHgmcqA6J6a9lLxP68Za//UTZiIYo2Cjgf5Mbd1aKeJ2B0mkWo+MIRQycxfbdojklBtcsuZFJzpnWdJ7bh4VnSqJo0LGCMLu7APh+DACZThCipQAwr38AjP8GI9WE/Wq/U2Ls1Yk55t+APr4wfvlJtx</latexit> <latexit sha1_base64="nD9Da+AXzw4U9g+e1E7sO1J7LQU=">AAACA3icbVDLSsNAFJ3UV62vqDsVCRZBEEriRl0IRTcuWzC20JQymd60g5NJnJkIIRTc6Ke4EhRx0Y1f4cpv8CecPhbaemCYM+fcy517/JhRqWz7y8jNzM7NL+QXC0vLK6tr5vrGtYwSQcAlEYtE3ccSGOXgKqoY1GMBOPQZ1Pybi4FfuwMhacSvVBpDM8QdTgNKsNJSy9xKW5nqnXlhMrgPPYglZdrQj5ZZtEv2ENY0ccakWN7pV78fdvuVlvnptSOShMAVYVjKRsDgljczLBQlDHoFL5EQY3KDO9DQlOMQZDMbLtGz9rXStoJI6MOVNVR/d2Q4lDINfV0ZYtWVk95A/M9rJCo4aWaUx4kCTkaDgoRZKrIGiVhtKoAolmqCiaD6rxbpYoGJ0rkVdArO5M7TxD0qnZacqk7jHI2QR9toDx0gBx2jMrpEFeQigu7RE3pBr8aj8Wy8Ge+j0pwx7tlEf2B8/ADN2ZzX</latexit> <latexit sha1_base64="nD9Da+AXzw4U9g+e1E7sO1J7LQU=">AAACA3icbVDLSsNAFJ3UV62vqDsVCRZBEEriRl0IRTcuWzC20JQymd60g5NJnJkIIRTc6Ke4EhRx0Y1f4cpv8CecPhbaemCYM+fcy517/JhRqWz7y8jNzM7NL+QXC0vLK6tr5vrGtYwSQcAlEYtE3ccSGOXgKqoY1GMBOPQZ1Pybi4FfuwMhacSvVBpDM8QdTgNKsNJSy9xKW5nqnXlhMrgPPYglZdrQj5ZZtEv2ENY0ccakWN7pV78fdvuVlvnptSOShMAVYVjKRsDgljczLBQlDHoFL5EQY3KDO9DQlOMQZDMbLtGz9rXStoJI6MOVNVR/d2Q4lDINfV0ZYtWVk95A/M9rJCo4aWaUx4kCTkaDgoRZKrIGiVhtKoAolmqCiaD6rxbpYoGJ0rkVdArO5M7TxD0qnZacqk7jHI2QR9toDx0gBx2jMrpEFeQigu7RE3pBr8aj8Wy8Ge+j0pwx7tlEf2B8/ADN2ZzX</latexit> <latexit sha1_base64="kGnQDiF59M+2vpQ1nnkBDHWZnyA=">AAACA3icbVDLSsNAFJ3UV62vqDvdBIsgCCV1oy6EohuXFYwtNCFMpjft0MkkzkyEEAqu/BRXgiJu/QpX/o2TNgttPTDMmXPu5c49QcKoVLb9bVQWFpeWV6qrtbX1jc0tc3vnTsapIOCQmMWiG2AJjHJwFFUMuokAHAUMOsHoqvA7DyAkjfmtyhLwIjzgNKQEKy355l7m52p84UZpcR+7kEjKtKEfvlm3G/YE1jxplqSOSrR988vtxySNgCvCsJS9kME993IsFCUMxjU3lZBgMsID6GnKcQTSyydLjK1DrfStMBb6cGVN1N8dOY6kzKJAV0ZYDeWsV4j/eb1UhWdeTnmSKuBkOihMmaViq0jE6lMBRLFME0wE1X+1yBALTJTOraZTaM7uPE+ck8Z5o3lj11uXZRxVtI8O0BFqolPUQteojRxE0CN6Rq/ozXgyXox342NaWjHKnl30B8bnD9+amSw=</latexit> µt = µt 1 + ⌘t <latexit sha1_base64="VhCuoI49ttBxPIJ8kwbpIA78Kos=">AAACA3icbVA9SwNBEJ2LXzF+Re20OQ1CQAw5G7UQgjaWETwTyIWwt5lLluztnbt7QjgCVv4UK0ERW8H/YOUPsXfzUWj0wTCP92bYnefHnCldLn9amZnZufmF7GJuaXlldS2/vnGtokRSdGnEI1n3iULOBLqaaY71WCIJfY41v3c+9Gu3KBWLxJXux9gMSUewgFGijdTKb3lh0kr14HTcD5zBvoeaDKVWvlAulUew/xJnQgqVneLXOwBUW/kPrx3RJEShKSdKNQKON6KZEqkZ5TjIeYnCmNAe6WDDUEFCVM10dMTA3jNK2w4iaUpoe6T+3EhJqFQ/9M1kSHRXTXtD8T+vkejguJkyEScaBR0/FCTc1pE9TMRuM4lU874hhEpm/mrTLpGEapNbzqTgTN/8l7iHpZOSc2nSOIMxsrANu1AEB46gAhdQBRco3MEDPMGzdW89Wi/W63g0Y012NuEXrLdv8aWazQ==</latexit> <latexit sha1_base64="Jps0U1ADiJim1dk2qNfvw17azig=">AAACA3icbVDLSsNAFJ34rPUVdaebaBEqYkncqAuh6MZlBWsLTQiT6U07dDKJMxOhhIIrt/6FK0ERt278BVd+iHunj4W2Hrjcwzn3MnNPkDAqlW1/GVPTM7Nz87mF/OLS8sqqubZ+LeNUEKiSmMWiHmAJjHKoKqoY1BMBOAoY1ILOed+v3YKQNOZXqpuAF+EWpyElWGnJNzfdKPUz1Tsd9gOnt++Cwn3JNwt2yR7AmiTOiBTK28Xvjwd3r+Kbn24zJmkEXBGGpWyEDG64l2GhKGHQy7uphASTDm5BQ1OOI5BeNjiiZ+1qpWmFsdDFlTVQf29kOJKyGwV6MsKqLce9vvif10hVeOxllCepAk6GD4Ups1Rs9ROxmlQAUayrCSaC6r9apI0FJkrnltcpOOM3T5LqYemk5FzqNM7QEDm0hXZQETnoCJXRBaqgKiLoDj2iZ/Ri3BtPxqvxNhydMkY7G+gPjPcfZZGb4w==</latexit> <latexit sha1_base64="Jps0U1ADiJim1dk2qNfvw17azig=">AAACA3icbVDLSsNAFJ34rPUVdaebaBEqYkncqAuh6MZlBWsLTQiT6U07dDKJMxOhhIIrt/6FK0ERt278BVd+iHunj4W2Hrjcwzn3MnNPkDAqlW1/GVPTM7Nz87mF/OLS8sqqubZ+LeNUEKiSmMWiHmAJjHKoKqoY1BMBOAoY1ILOed+v3YKQNOZXqpuAF+EWpyElWGnJNzfdKPUz1Tsd9gOnt++Cwn3JNwt2yR7AmiTOiBTK28Xvjwd3r+Kbn24zJmkEXBGGpWyEDG64l2GhKGHQy7uphASTDm5BQ1OOI5BeNjiiZ+1qpWmFsdDFlTVQf29kOJKyGwV6MsKqLce9vvif10hVeOxllCepAk6GD4Ups1Rs9ROxmlQAUayrCSaC6r9apI0FJkrnltcpOOM3T5LqYemk5FzqNM7QEDm0hXZQETnoCJXRBaqgKiLoDj2iZ/Ri3BtPxqvxNhydMkY7G+gPjPcfZZGb4w==</latexit> <latexit sha1_base64="Y7zU3dDTjwVbV5YuI4Y3xk17JdE=">AAACA3icbVBNS8NAEN3Ur1q/ot70EiyCIJbEi3oQil48VjC20ISw2U7apZtN3N0IJQQ8+VM8CYp49Vd48t+4aXvQ6oNhHu/NsDsvTBmVyra/jMrc/MLiUnW5trK6tr5hbm7dyiQTBFySsER0QiyBUQ6uoopBJxWA45BBOxxeln77HoSkCb9RoxT8GPc5jSjBSkuBuePFWZCr4nzSj5zi0AOFSykw63bDHsP6S5wpqaMpWoH56fUSksXAFWFYym7E4I77ORaKEgZFzcskpJgMcR+6mnIcg/Tz8RGFta+VnhUlQhdX1lj9uZHjWMpRHOrJGKuBnPVK8T+vm6no1M8pTzMFnEweijJmqcQqE7F6VABRbKQJJoLqv1pkgAUmSudW0yk4szf/Je5x46zhXNv15sU0jiraRXvoADnoBDXRFWohFxH0gJ7QC3o1Ho1n4814n4xWjOnONvoF4+Mb64CYjw==</latexit> yt = µt + ✏t <latexit sha1_base64="lhTgQbTWtsGqxDJTL2wbLQ29tWs=">AAACA3icbVA9SwNBEJ2LXzF+Re3U4jAIghByNmohBG0sEzAmkBxhbzOXLNnbO3f3hHAErPwpVoIiFjb+Cis7f4p7SQpNfLDs2/dmmJ3nRZwpXSp9WZm5+YXFpexybmV1bX0jv7l1o8JYUqzRkIey4RGFnAmsaaY5NiKJJPA41r3+ZerX71AqFoprPYjQDUhXMJ9Roo3Uzu8M2okenreCOL2PWhgpxo1hHu18oVQsjWDPEmdCCuW99+o3AFTa+c9WJ6RxgEJTTpRq+hxvhZsQqRnlOMy1YoURoX3SxaahggSo3GS0xNA+MErH9kNpjtD2SP3dkZBAqUHgmcqA6J6a9lLxP68Za//UTZiIYo2Cjgf5Mbd1aKeJ2B0mkWo+MIRQycxfbdojklBtcsuZFJzpnWdJ7bh4VnSqJo0LGCMLu7APh+DACZThCipQAwr38AjP8GI9WE/Wq/U2Ls1Yk55t+APr4wfvlJtx</latexit> <latexit sha1_base64="nD9Da+AXzw4U9g+e1E7sO1J7LQU=">AAACA3icbVDLSsNAFJ3UV62vqDsVCRZBEEriRl0IRTcuWzC20JQymd60g5NJnJkIIRTc6Ke4EhRx0Y1f4cpv8CecPhbaemCYM+fcy517/JhRqWz7y8jNzM7NL+QXC0vLK6tr5vrGtYwSQcAlEYtE3ccSGOXgKqoY1GMBOPQZ1Pybi4FfuwMhacSvVBpDM8QdTgNKsNJSy9xKW5nqnXlhMrgPPYglZdrQj5ZZtEv2ENY0ccakWN7pV78fdvuVlvnptSOShMAVYVjKRsDgljczLBQlDHoFL5EQY3KDO9DQlOMQZDMbLtGz9rXStoJI6MOVNVR/d2Q4lDINfV0ZYtWVk95A/M9rJCo4aWaUx4kCTkaDgoRZKrIGiVhtKoAolmqCiaD6rxbpYoGJ0rkVdArO5M7TxD0qnZacqk7jHI2QR9toDx0gBx2jMrpEFeQigu7RE3pBr8aj8Wy8Ge+j0pwx7tlEf2B8/ADN2ZzX</latexit> <latexit sha1_base64="nD9Da+AXzw4U9g+e1E7sO1J7LQU=">AAACA3icbVDLSsNAFJ3UV62vqDsVCRZBEEriRl0IRTcuWzC20JQymd60g5NJnJkIIRTc6Ke4EhRx0Y1f4cpv8CecPhbaemCYM+fcy517/JhRqWz7y8jNzM7NL+QXC0vLK6tr5vrGtYwSQcAlEYtE3ccSGOXgKqoY1GMBOPQZ1Pybi4FfuwMhacSvVBpDM8QdTgNKsNJSy9xKW5nqnXlhMrgPPYglZdrQj5ZZtEv2ENY0ccakWN7pV78fdvuVlvnptSOShMAVYVjKRsDgljczLBQlDHoFL5EQY3KDO9DQlOMQZDMbLtGz9rXStoJI6MOVNVR/d2Q4lDINfV0ZYtWVk95A/M9rJCo4aWaUx4kCTkaDgoRZKrIGiVhtKoAolmqCiaD6rxbpYoGJ0rkVdArO5M7TxD0qnZacqk7jHI2QR9toDx0gBx2jMrpEFeQigu7RE3pBr8aj8Wy8Ge+j0pwx7tlEf2B8/ADN2ZzX</latexit> <latexit sha1_base64="kGnQDiF59M+2vpQ1nnkBDHWZnyA=">AAACA3icbVDLSsNAFJ3UV62vqDvdBIsgCCV1oy6EohuXFYwtNCFMpjft0MkkzkyEEAqu/BRXgiJu/QpX/o2TNgttPTDMmXPu5c49QcKoVLb9bVQWFpeWV6qrtbX1jc0tc3vnTsapIOCQmMWiG2AJjHJwFFUMuokAHAUMOsHoqvA7DyAkjfmtyhLwIjzgNKQEKy355l7m52p84UZpcR+7kEjKtKEfvlm3G/YE1jxplqSOSrR988vtxySNgCvCsJS9kME993IsFCUMxjU3lZBgMsID6GnKcQTSyydLjK1DrfStMBb6cGVN1N8dOY6kzKJAV0ZYDeWsV4j/eb1UhWdeTnmSKuBkOihMmaViq0jE6lMBRLFME0wE1X+1yBALTJTOraZTaM7uPE+ck8Z5o3lj11uXZRxVtI8O0BFqolPUQteojRxE0CN6Rq/ozXgyXox342NaWjHKnl30B8bnD9+amSw=</latexit> µt = µt 1 + t 1 + ⌘t <latexit sha1_base64="y3Xv97TeUQOPnd1cIphe8nZZwAE=">AAACD3icbZDNSsNAFIVv/K31L+rSTVSUglgaN+pCKLpxqWC00JYymd7UoZNJnJkIJeQNXPkorgRFunXtygdx77RR0NYLw3yccy8z9/gxZ0pXKh/WxOTU9MxsYa44v7C4tGyvrF6pKJEUPRrxSNZ8opAzgZ5mmmMtlkhCn+O13z0d+Nd3KBWLxKXuxdgMSUewgFGijdSydxph0kp1dpzfe2622/BRkx/OMWvZW5VyZVjOOLjfsFXdKH32AeC8Zb832hFNQhSacqJUPeB4K5opkZpRjlmxkSiMCe2SDtYNChKiaqbDhTJn2yhtJ4ikOUI7Q/X3REpCpXqhbzpDom/UqDcQ//PqiQ4OmykTcaJR0PyhIOGOjpxBOk6bSaSa9wwQKpn5q0NviCRUmwyLJgV3dOdx8PbLR2X3wqRxAnkVYB02oQQuHEAVzuAcPKBwD4/wDC/Wg/VkvVr9vHXC+p5Zgz9lvX0Bwk+fkQ==</latexit> <latexit sha1_base64="nRyzJDntVTnRi/i0rHEighbPE9Y=">AAACD3icbZDNSgMxFIUz9a/Wv6pLN6NFqYhlxo26EIpuXFawttApJZPeaUMzmTHJCGWYNxAEH8WVoIi4c+3KB3Fv2qmgrRdCPs65l+QeN2RUKsv6NDJT0zOzc9n53MLi0vJKfnXtSgaRIFAlAQtE3cUSGOVQVVQxqIcCsO8yqLm9s4FfuwEhacAvVT+Epo87nHqUYKWlVn7H8aNWrJKT9N63kz3HBYV/OMWklS9YJWtY5iTYIyiUN4tfb3fObqWV/3DaAYl84IowLGXDY3DNmzEWihIGSc6JJISY9HAHGho59kE24+FCibmtlbbpBUIfrsyh+nsixr6Ufd/VnT5WXTnuDcT/vEakvKNmTHkYKeAkfciLmKkCc5CO2aYCiGJ9DZgIqv9qki4WmCidYU6nYI/vPAnVg9Jxyb7QaZyitLJoA22hIrLRISqjc1RBVUTQLXpAT+jZuDcejRfjNW3NGKOZdfSnjPdvNjugpw==</latexit> <latexit sha1_base64="nRyzJDntVTnRi/i0rHEighbPE9Y=">AAACD3icbZDNSgMxFIUz9a/Wv6pLN6NFqYhlxo26EIpuXFawttApJZPeaUMzmTHJCGWYNxAEH8WVoIi4c+3KB3Fv2qmgrRdCPs65l+QeN2RUKsv6NDJT0zOzc9n53MLi0vJKfnXtSgaRIFAlAQtE3cUSGOVQVVQxqIcCsO8yqLm9s4FfuwEhacAvVT+Epo87nHqUYKWlVn7H8aNWrJKT9N63kz3HBYV/OMWklS9YJWtY5iTYIyiUN4tfb3fObqWV/3DaAYl84IowLGXDY3DNmzEWihIGSc6JJISY9HAHGho59kE24+FCibmtlbbpBUIfrsyh+nsixr6Ufd/VnT5WXTnuDcT/vEakvKNmTHkYKeAkfciLmKkCc5CO2aYCiGJ9DZgIqv9qki4WmCidYU6nYI/vPAnVg9Jxyb7QaZyitLJoA22hIrLRISqjc1RBVUTQLXpAT+jZuDcejRfjNW3NGKOZdfSnjPdvNjugpw==</latexit> <latexit sha1_base64="2Fm78ffK5PaYnwvakuUaImDxrUE=">AAACD3icbZDNSsNAFIUn9a/Wv6hLN8GiCGJJ3KgLoejGZQVjC00pk+lNO3QyiTMToYS8gSsfxZWgiFvXrnwbp00Ebb0wzMc59zJzjx8zKpVtfxmlufmFxaXycmVldW19w9zcupVRIgi4JGKRaPlYAqMcXEUVg1YsAIc+g6Y/vBz7zXsQkkb8Ro1i6IS4z2lACVZa6pr7Xph0U5Wd5/eRkx16Pij8wzlmXbNq1+xJWbPgFFBFRTW65qfXi0gSAleEYSnbAYM73kmxUJQwyCpeIiHGZIj70NbIcQiyk04Wyqw9rfSsIBL6cGVN1N8TKQ6lHIW+7gyxGshpbyz+57UTFZx2UsrjRAEn+UNBwiwVWeN0rB4VQBQbacBEUP1XiwywwETpDCs6BWd651lwj2tnNefartYvijjKaAftogPkoBNUR1eogVxE0AN6Qi/o1Xg0no034z1vLRnFzDb6U8bHN7wqnVM=</latexit> t = t 1 + ⇣t <latexit sha1_base64="AkZO9akPdUZZF2tHAD6npuqNIak=">AAACCHicbZA9SwNBEIbn4leMX1FLC0+DEBDDnY1aCEEbywjGBJIQ9jZzyZK9vXN3T4hHSit/ipWgiJ34F6z8IfZuPgSNvrDw8M4Ms/N6EWdKO86HlZqanpmdS89nFhaXlleyq2uXKowlxTINeSirHlHImcCyZppjNZJIAo9jxeueDuqVa5SKheJC9yJsBKQtmM8o0cZqZjfrHmrSTHT/+Jv23P5u/WbsNrM5p+AMZf8Fdwy54lb+8xUASs3se70V0jhAoSknStV8jleikRCpGeXYz9RjhRGhXdLGmkFBAlSNZHhJ394xTsv2Q2me0PbQ/TmRkECpXuCZzoDojpqsDcz/arVY+4eNhIko1ijoaJEfc1uH9iAWu8UkUs17BgiVzPzVph0iCdUmvIxJwZ28+S+U9wtHBffcpHECI6VhA7YhDy4cQBHOoARloHAL9/AIT9ad9WA9Wy+j1pQ1nlmHX7LevgDNrpzt</latexit> <latexit sha1_base64="yD9OCNIW8WmkQUrry2QI/Qmb9g8=">AAACCHicbZDLSsNAFIYnXmu9VV26MFqEilgSN+pCKLpxWcHaQhPCZHrSDp1M4sxEqKFLVy58EFeCIm77Cq58EPdOL4K2/jDw8Z9zOHN+P2ZUKsv6NKamZ2bn5jML2cWl5ZXV3Nr6tYwSQaBCIhaJmo8lMMqhoqhiUIsF4NBnUPXb5/169RaEpBG/Up0Y3BA3OQ0owUpbXm7L8UFhL1Xd0x86sLv7zt3I9XJ5q2gNZE6CPYJ8abvw1Xt09spe7sNpRCQJgSvCsJT1gMENd1MsFCUMulknkRBj0sZNqGvkOATppoNLuuaudhpmEAn9uDIH7u+JFIdSdkJfd4ZYteR4rW/+V6snKjh2U8rjRAEnw0VBwkwVmf1YzAYVQBTraMBEUP1Xk7SwwETp8LI6BXv85kmoHBZPivalTuMMDZVBm2gHFZCNjlAJXaAyqiCC7tETekGvxoPxbLwZ78PWKWM0s4H+yOh9A0GangM=</latexit> <latexit sha1_base64="yD9OCNIW8WmkQUrry2QI/Qmb9g8=">AAACCHicbZDLSsNAFIYnXmu9VV26MFqEilgSN+pCKLpxWcHaQhPCZHrSDp1M4sxEqKFLVy58EFeCIm77Cq58EPdOL4K2/jDw8Z9zOHN+P2ZUKsv6NKamZ2bn5jML2cWl5ZXV3Nr6tYwSQaBCIhaJmo8lMMqhoqhiUIsF4NBnUPXb5/169RaEpBG/Up0Y3BA3OQ0owUpbXm7L8UFhL1Xd0x86sLv7zt3I9XJ5q2gNZE6CPYJ8abvw1Xt09spe7sNpRCQJgSvCsJT1gMENd1MsFCUMulknkRBj0sZNqGvkOATppoNLuuaudhpmEAn9uDIH7u+JFIdSdkJfd4ZYteR4rW/+V6snKjh2U8rjRAEnw0VBwkwVmf1YzAYVQBTraMBEUP1Xk7SwwETp8LI6BXv85kmoHBZPivalTuMMDZVBm2gHFZCNjlAJXaAyqiCC7tETekGvxoPxbLwZ78PWKWM0s4H+yOh9A0GangM=</latexit> <latexit sha1_base64="1h2E6e+noUYAj/1XLvYuMFoiFAo=">AAACCHicbZDNSsNAFIUn/tb6F3XpwmARBLEkbtSFUHTjsoK1hSaEyfSmHTqZxJmJUEOWrnwUV4Iibn0FV76N0zaCth4Y+Dj3Xu7cEySMSmXbX8bM7Nz8wmJpqby8srq2bm5s3sg4FQQaJGaxaAVYAqMcGooqBq1EAI4CBs2gfzGsN+9ASBrzazVIwItwl9OQEqy05Zs7bgAK+5nKz37o0MkP3PvC9c2KXbVHsqbBKaCCCtV989PtxCSNgCvCsJTtkMEt9zIsFCUM8rKbSkgw6eMutDVyHIH0stElubWnnY4VxkI/rqyR+3siw5GUgyjQnRFWPTlZG5r/1dqpCk+8jPIkVcDJeFGYMkvF1jAWq0MFEMUGGjARVP/VIj0sMFE6vLJOwZm8eRoaR9XTqnNlV2rnRRwltI120T5y0DGqoUtURw1E0AN6Qi/o1Xg0no03433cOmMUM1voj4yPb8eJmq8=</latexit> ঢ়ଶʢЖʣʹϊΠζʢЏʣ͕ՃΘͬͯ஋ ͕؍ଌʢZʣ͞ΕΔ ঢ়ଶ͸ɺ࣌ࠁલͷঢ়ଶʹϊΠζʢБʣ ͕ՃΘͬͯߋ৽͞ΕΔ ঢ়ଶʢЖʣʹϊΠζʢЏʣ͕ՃΘͬͯ஋ ͕؍ଌʢZʣ͞ΕΔ ঢ়ଶ͸ɺ࣌ࠁલͷঢ়ଶʹτϨϯυ߲ ʢЌʣͱϊΠζʢБʣ͕ՃΘͬͯߋ৽͞ ΕΔ τϨϯυ߲͸࣌ࠁલͷτϨϯυʹϊΠ ζʢАʣ͕ՃΘͬͯߋ৽͞ΕΔ पظతͳมಈΛμϛʔม਺ͱͯ͠ද ݱͯ͠Ϟσϧʹ૊ΈࠐΉ 4FBTPOBMͱͳ͍ͬͯΔ͕ɺࠓճͷ৔ ߹͸िͷपظతͳมಈΛઆ໌͢Δͨ Ίʹ4FBTPOBMΛ࢖༻͢Δ $ZDMF͸4FBTPOBMΑΓ௕ظతͳϏδ ωεαΠΫϧΛදݱ͢ΔͨΊʹϞσ ϧʹ૊Έࠐ·ΕΔ ࠓճ͸قઅมಈΛઆ໌͢ΔͨΊʹ࢖ ༻͢Δ
  7. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌϞσϧͷߏங ֶशͷ࣮ߦ   w ֶश͸਺ߦͷίʔυͰ׬ྃ͢Δ w -PDBMMFWFMͰΦϓγϣϯແ͠ͷ৔߹Λ࣮ߦͯ͠ΈΔ

    1 ts_training = daily_customers['2017'] 2 3 model = sm.tsa.UnobservedComponents(ts_training['customers'].to_frame(), level='local level') 4 5 result = model.fit() 6 7 print(result.summary()) 8 9 rcParams['figure.figsize'] = 15, 20 10 fig = result.plot_components() ߦ໨ɿ೥ʹظؒΛݶఆֶͯ͠शσʔλΛ༻ҙ͢Δ ߦ໨ɿֶशσʔλͱΦϓγϣϯΛࢦఆͯ͠ɺঢ়ଶۭؒϞσϧΛΠϯελϯεԽ ɹɹɹɹࠓճ͸ϩʔΧϧϨϕϧϞσϧͰΦϓγϣϯແ͠ ߦ໨ɿσʔλʹରͯ͠ύϥϝʔλͷֶशΛ࣮ߦ ߦ໨ɿֶश݁ՌͷαϚϦΛίϯιʔϧʹग़ྗ ߦ໨ɿঢ়ଶۭؒϞσϧͷߏ੒ཁૉΛඳը -PDBM MFWFM
  8. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌϞσϧͷߏங ֶशͷ࣮ߦʢճ໨ʣ   w -PDBMMJOFBSUSFOEͰTFBTPOBMɺDZDMF5SVFͰ࣮ߦͯ͠ΈΔ 1 ts_training

    = daily_customers['2017'] 2 3 model = (sm.tsa.UnobservedComponents(ts_training['customers'].to_frame(), level='local linear trend' 4 , seasonal=7, cycle=True, cycle_period_bounds=(30,500))) 5 6 result = model.fit() 7 8 print(result.summary()) 9 10 rcParams['figure.figsize'] = 15, 30 11 fig = result.plot_components() ߦ໨ɿมߋ఺͸ɺMFWFMʹʮMPDBMMJOFBSUSFOEʯΛࢦఆͯ͠ɺTFBTPOBMͱDZDMFͷΦϓγϣϯΛ෇͚ͨ͜ͱ ɹɹɹɹDZDMF@QFSJPE@CPVOET͸DZDMFͷपظΛ୳ࡧ͢ΔϨϯδ -PDBM MJOFBS USFOE  TFBTPOBM  DZDMF
  9. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌϞσϧͷߏங Ϟσϧߏ੒ཁૉͷ֬ೝ   -FWFM 5SFOE 4FBTPOBM $ZDMF

    ঢ়ଶۭؒϞσϧͷʮঢ়ଶʯͷมԽ τϨϯυͷมԽ σʔλશମΛ௨ͯ͠ಉ͡܏޲ʹ͋Δཁૉ͕ දݱ͞ΕΔ͜ͱ͕๬·͍͠ 4FBTPOBMΛ೔पظͱઃఆͨͨ͠Ί िʹΑΔมಈ͕දݱ͞Ε͍ͯΔ μϛʔม਺ͷͨΊɺपظత͕ͩಉҰि಺Ͱ͸ෆنଇ $ZDMF͸ࡾ֯ؔ਺Ͱදݱ͞ΕΔͨΊ ඇৗʹنଇਖ਼͍͠पظੑ͕දݱ͞ΕΔ قઅมಈΛදݱ͢ΔͨΊʹ͸ ਺೥ʹ౉Δσʔλ͕ඞཁͦ͏
  10. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌϞσϧͷߏங ֶशͷ਍அ   -PDBM MFWFM -PDBM MJOFBS

    USFOE  TFBTP OBM  DZDMF ࢒ࠩͷ෼෍ ࢒ࠩ͸ϞσϧͰදݱ͖͠Ε ͳ͔ͬͨ෦෼ͳͷͰɺϗϫ ΠτϊΠζʢఆৗ෼෍ʣ͕ ๬·͍͠ ͜͜ʹ໌Β͔ͳ܏޲͕࢒ͬ ͍ͯΔ৔߹͸ɺϞσϧʹͦ ͷ܏޲Λදݱ͢Δม਺Λ௥ Ճ͢΂͖ ࢒ࠩͷίϨϩάϥϜ ࣗݾ૬ؔΛ֬ೝ͢Δάϥϑ σϑΥϧτͰMBH·Ͱͷ ίϨϩάϥϜ͕දࣔ͞ΕΔ ࣗݾ૬͕ؔ͋Δ৔߹ɺ͋Δ ࣌఺ͷ஋͸ɺաڈͷ஋ʹ૬ ؔؔ܎͕͋Δ஋ͱݟͳͤΔ Ϟσϧ͕આ໌Ͱ͖ͳ͔ͬͨ पظੑ͕͋Δ৔߹͸ɺࣗݾ ૬͕ؔ࢒Δ
  11. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌϞσϧͷߏங Ϟσϧͷબ୒   w جຊతʹ͸࣮ߦ݁ՌͰ"*$ʢ੺஑৘ใྔن४ʣͷ௿͍ϞσϧΛબ୒͢Δ Unobserved Components

    Results ==================================================================================== Dep. Variable: customers No. Observations: 365 Model: local linear trend Log Likelihood -1033.339 + stochastic seasonal(7) AIC 2076.679 + cycle BIC 2096.178 Date: Wed, 28 Mar 2018 HQIC 2084.428 Time: 19:56:21 Sample: 01-01-2017 - 12-31-2017 Covariance Type: opg ==================================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------------ sigma2.irregular 14.6858 1.183 12.412 0.000 12.367 17.005 sigma2.level 6.23e-10 0.219 2.84e-09 1.000 -0.429 0.429 sigma2.trend 0.0024 0.002 1.551 0.121 -0.001 0.005 sigma2.seasonal 0.0061 0.015 0.393 0.694 -0.024 0.036 frequency.cycle 0.1024 0.017 5.893 0.000 0.068 0.136 =================================================================================== Ljung-Box (Q): 33.60 Jarque-Bera (JB): 2.78 Prob(Q): 0.75 Prob(JB): 0.25 Heteroskedasticity (H): 0.95 Skew: -0.15 Prob(H) (two-sided): 0.78 Kurtosis: 3.32 =================================================================================== Warnings: [1] Covariance matrix calculated using the outer product of gradients (complex-step).
  12. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌੑೳʹ͍ͭͯ ධՁࢦඪ   MAPE = 100 n

    ⇥ n X i=1 | ࣮ଌ஋i ༧ଌ஋i | ࣮ଌ஋i <latexit sha1_base64="LW7fseL7eqD7VNZtaIXRf5bt2aA=">AAACtnicfVLBTttAEB27hdJAIdBjL6sGJA40srlQDkjQqlIvrVKpgUhJiNabcVix3rV214jI+N6/6E/10r/pxInaEKTOytbb9+Z51jOb5Eo6H0W/g/DZ87X1FxsvG5tbr7Z3mrt7l84UVmBXGGVsL+EOldTY9dIr7OUWeZYovEpuP870qzu0Thr93U9zHGZ8omUqBfdEmWYKA8ggAQP3UMIXuIAOfIIKzohPwQIHQXwMEa2KkKY3I82DJB+Cq3cOCtqNSJfkjCnnein333celqv1f+qjzj7lzH0VvFtWv/5YUR/q+v/zV6NmK2pHdbCnIF6AFiyiM2r+GoyNKDLUXijuXD+Ocj8sufVSKKwaB4PCYc7FLZ9gn6DmGbphWbe9YgfEjFlqLD3as5ptLDlKnjk3zRLKzLi/cavajPyrPS7l0/fDUuq88KjFvFJaKOYNmw2RjaVF4dWUABdW0mmZuOGWC0+jblAb4tWffgq6x+3Tdvwtap1/WPRjA97AWzik+Z3AOXymm9AFERwHvYAHSXgajkIMJ/PUMFh4XsOjCPM/gOq2rQ==</latexit> <latexit sha1_base64="LW7fseL7eqD7VNZtaIXRf5bt2aA=">AAACtnicfVLBTttAEB27hdJAIdBjL6sGJA40srlQDkjQqlIvrVKpgUhJiNabcVix3rV214jI+N6/6E/10r/pxInaEKTOytbb9+Z51jOb5Eo6H0W/g/DZ87X1FxsvG5tbr7Z3mrt7l84UVmBXGGVsL+EOldTY9dIr7OUWeZYovEpuP870qzu0Thr93U9zHGZ8omUqBfdEmWYKA8ggAQP3UMIXuIAOfIIKzohPwQIHQXwMEa2KkKY3I82DJB+Cq3cOCtqNSJfkjCnnein333celqv1f+qjzj7lzH0VvFtWv/5YUR/q+v/zV6NmK2pHdbCnIF6AFiyiM2r+GoyNKDLUXijuXD+Ocj8sufVSKKwaB4PCYc7FLZ9gn6DmGbphWbe9YgfEjFlqLD3as5ptLDlKnjk3zRLKzLi/cavajPyrPS7l0/fDUuq88KjFvFJaKOYNmw2RjaVF4dWUABdW0mmZuOGWC0+jblAb4tWffgq6x+3Tdvwtap1/WPRjA97AWzik+Z3AOXymm9AFERwHvYAHSXgajkIMJ/PUMFh4XsOjCPM/gOq2rQ==</latexit> <latexit sha1_base64="LW7fseL7eqD7VNZtaIXRf5bt2aA=">AAACtnicfVLBTttAEB27hdJAIdBjL6sGJA40srlQDkjQqlIvrVKpgUhJiNabcVix3rV214jI+N6/6E/10r/pxInaEKTOytbb9+Z51jOb5Eo6H0W/g/DZ87X1FxsvG5tbr7Z3mrt7l84UVmBXGGVsL+EOldTY9dIr7OUWeZYovEpuP870qzu0Thr93U9zHGZ8omUqBfdEmWYKA8ggAQP3UMIXuIAOfIIKzohPwQIHQXwMEa2KkKY3I82DJB+Cq3cOCtqNSJfkjCnnein333celqv1f+qjzj7lzH0VvFtWv/5YUR/q+v/zV6NmK2pHdbCnIF6AFiyiM2r+GoyNKDLUXijuXD+Ocj8sufVSKKwaB4PCYc7FLZ9gn6DmGbphWbe9YgfEjFlqLD3as5ptLDlKnjk3zRLKzLi/cavajPyrPS7l0/fDUuq88KjFvFJaKOYNmw2RjaVF4dWUABdW0mmZuOGWC0+jblAb4tWffgq6x+3Tdvwtap1/WPRjA97AWzik+Z3AOXymm9AFERwHvYAHSXgajkIMJ/PUMFh4XsOjCPM/gOq2rQ==</latexit> <latexit sha1_base64="LW7fseL7eqD7VNZtaIXRf5bt2aA=">AAACtnicfVLBTttAEB27hdJAIdBjL6sGJA40srlQDkjQqlIvrVKpgUhJiNabcVix3rV214jI+N6/6E/10r/pxInaEKTOytbb9+Z51jOb5Eo6H0W/g/DZ87X1FxsvG5tbr7Z3mrt7l84UVmBXGGVsL+EOldTY9dIr7OUWeZYovEpuP870qzu0Thr93U9zHGZ8omUqBfdEmWYKA8ggAQP3UMIXuIAOfIIKzohPwQIHQXwMEa2KkKY3I82DJB+Cq3cOCtqNSJfkjCnnein333celqv1f+qjzj7lzH0VvFtWv/5YUR/q+v/zV6NmK2pHdbCnIF6AFiyiM2r+GoyNKDLUXijuXD+Ocj8sufVSKKwaB4PCYc7FLZ9gn6DmGbphWbe9YgfEjFlqLD3as5ptLDlKnjk3zRLKzLi/cavajPyrPS7l0/fDUuq88KjFvFJaKOYNmw2RjaVF4dWUABdW0mmZuOGWC0+jblAb4tWffgq6x+3Tdvwtap1/WPRjA97AWzik+Z3AOXymm9AFERwHvYAHSXgajkIMJ/PUMFh4XsOjCPM/gOq2rQ==</latexit> MAD = 1 n ⇥ n X i=1 | ࣮ଌ஋i ༧ଌ஋i | <latexit sha1_base64="mVy3JroPLZoVOMoL254tzPmrOyA=">AAAChnicZVFNT+MwEJ2E7/JV4LgXi4LEAUqChIDDSt2FAxdQkSggNaVyXAcsHDuyndVWoXf+xf4pLvtvmKYVKmUkS2/ee+OxZ+JMCuuC4L/nz8zOzS8sLlWWV1bX1qsbm3dW54bxFtNSm4eYWi6F4i0nnOQPmeE0jSW/j1/Oh/r9H26s0OrW9TPeSemTEolg1CGlq9cQQQoxaPgLBVzBL7iAARD4iSeCBAxQYKiEyBagSi0CBwKrONgys5Bj1kVdYN3Q+fjpfZ28v/1P7Td3kB95B3AwqV6/Tamv3WotqAdlkO8gHIMajKPZrb5HPc3ylCvHJLW2HQaZ6xTUOMEkH1R2o9zyjLIX+sTbCBVNue0U5RgHZBeZHkm0waMcKdnKREVBU2v7aYzOlLpnO60NyU/tayuXnHYKobLcccVGnZJcEqfJcCmkJwxnTvYRUGYEvpawZ2ooc7i6Co4hnP70d9A6qp/Vw5ug1vg9nsci/IBt2MONnEADLqEJLWCe7+15oXfkL/mH/rF/MrL63rhmC76E3/gArYGpug==</latexit> <latexit sha1_base64="mVy3JroPLZoVOMoL254tzPmrOyA=">AAAChnicZVFNT+MwEJ2E7/JV4LgXi4LEAUqChIDDSt2FAxdQkSggNaVyXAcsHDuyndVWoXf+xf4pLvtvmKYVKmUkS2/ee+OxZ+JMCuuC4L/nz8zOzS8sLlWWV1bX1qsbm3dW54bxFtNSm4eYWi6F4i0nnOQPmeE0jSW/j1/Oh/r9H26s0OrW9TPeSemTEolg1CGlq9cQQQoxaPgLBVzBL7iAARD4iSeCBAxQYKiEyBagSi0CBwKrONgys5Bj1kVdYN3Q+fjpfZ28v/1P7Td3kB95B3AwqV6/Tamv3WotqAdlkO8gHIMajKPZrb5HPc3ylCvHJLW2HQaZ6xTUOMEkH1R2o9zyjLIX+sTbCBVNue0U5RgHZBeZHkm0waMcKdnKREVBU2v7aYzOlLpnO60NyU/tayuXnHYKobLcccVGnZJcEqfJcCmkJwxnTvYRUGYEvpawZ2ooc7i6Co4hnP70d9A6qp/Vw5ug1vg9nsci/IBt2MONnEADLqEJLWCe7+15oXfkL/mH/rF/MrL63rhmC76E3/gArYGpug==</latexit> <latexit sha1_base64="mVy3JroPLZoVOMoL254tzPmrOyA=">AAAChnicZVFNT+MwEJ2E7/JV4LgXi4LEAUqChIDDSt2FAxdQkSggNaVyXAcsHDuyndVWoXf+xf4pLvtvmKYVKmUkS2/ee+OxZ+JMCuuC4L/nz8zOzS8sLlWWV1bX1qsbm3dW54bxFtNSm4eYWi6F4i0nnOQPmeE0jSW/j1/Oh/r9H26s0OrW9TPeSemTEolg1CGlq9cQQQoxaPgLBVzBL7iAARD4iSeCBAxQYKiEyBagSi0CBwKrONgys5Bj1kVdYN3Q+fjpfZ28v/1P7Td3kB95B3AwqV6/Tamv3WotqAdlkO8gHIMajKPZrb5HPc3ylCvHJLW2HQaZ6xTUOMEkH1R2o9zyjLIX+sTbCBVNue0U5RgHZBeZHkm0waMcKdnKREVBU2v7aYzOlLpnO60NyU/tayuXnHYKobLcccVGnZJcEqfJcCmkJwxnTvYRUGYEvpawZ2ooc7i6Co4hnP70d9A6qp/Vw5ug1vg9nsci/IBt2MONnEADLqEJLWCe7+15oXfkL/mH/rF/MrL63rhmC76E3/gArYGpug==</latexit> <latexit sha1_base64="mVy3JroPLZoVOMoL254tzPmrOyA=">AAAChnicZVFNT+MwEJ2E7/JV4LgXi4LEAUqChIDDSt2FAxdQkSggNaVyXAcsHDuyndVWoXf+xf4pLvtvmKYVKmUkS2/ee+OxZ+JMCuuC4L/nz8zOzS8sLlWWV1bX1qsbm3dW54bxFtNSm4eYWi6F4i0nnOQPmeE0jSW/j1/Oh/r9H26s0OrW9TPeSemTEolg1CGlq9cQQQoxaPgLBVzBL7iAARD4iSeCBAxQYKiEyBagSi0CBwKrONgys5Bj1kVdYN3Q+fjpfZ28v/1P7Td3kB95B3AwqV6/Tamv3WotqAdlkO8gHIMajKPZrb5HPc3ylCvHJLW2HQaZ6xTUOMEkH1R2o9zyjLIX+sTbCBVNue0U5RgHZBeZHkm0waMcKdnKREVBU2v7aYzOlLpnO60NyU/tayuXnHYKobLcccVGnZJcEqfJcCmkJwxnTvYRUGYEvpawZ2ooc7i6Co4hnP70d9A6qp/Vw5ug1vg9nsci/IBt2MONnEADLqEJLWCe7+15oXfkL/mH/rF/MrL63rhmC76E3/gArYGpug==</latexit> MSD = 1 n ⇥ n X i=1 | ࣮ଌ஋i ༧ଌ஋i |2 <latexit sha1_base64="GTgJwHjH3lmpxQUR/HjE7dwtEiw=">AAACjnicZVFNTxsxEJ1dyke3fAR65GI1ReoBol0ufEgIRDlwaZUWUpCyIfI6XrDw2ivbi4iWvfMv+FO99N90solQCCON9PzeG489k+RSWBeG/zx/7sP8wuLSx+DT8srqWmN944/VhWG8w7TU5jqhlkuheMcJJ/l1bjjNEsmvkvvvI/3qgRsrtLp0w5z3MnqrRCoYdUjpxm+IIYMENDxCCT/gAs6gAgJHmDGkYIACQyVCtgRVazE4EFjFwdYnCwWe+qgLrBs5b169T9P3d1/Udvsr8mNvBTvT6s/nGfWpvmcXqn6jGbbCOsh7EE1AEybR7jf+xgPNiowrxyS1thuFueuV1DjBJK+CrbiwPKfsnt7yLkJFM257ZT3OimwhMyCpNpjKkZoNpipKmlk7zBJ0ZtTd2VltRL5qb1u5dL9XCpUXjis27pQWkjhNRsshA2E4c3KIgDIj8LWE3VFDmcMVBjiGaPbT70Fnt3XQin6FzZPTyTyWYBO+wDfczB6cwDm0oQPMC7zQO/AO/XV/zz/yj8dW35vUfIY34Z//B1Neq6A=</latexit> <latexit sha1_base64="GTgJwHjH3lmpxQUR/HjE7dwtEiw=">AAACjnicZVFNTxsxEJ1dyke3fAR65GI1ReoBol0ufEgIRDlwaZUWUpCyIfI6XrDw2ivbi4iWvfMv+FO99N90solQCCON9PzeG489k+RSWBeG/zx/7sP8wuLSx+DT8srqWmN944/VhWG8w7TU5jqhlkuheMcJJ/l1bjjNEsmvkvvvI/3qgRsrtLp0w5z3MnqrRCoYdUjpxm+IIYMENDxCCT/gAs6gAgJHmDGkYIACQyVCtgRVazE4EFjFwdYnCwWe+qgLrBs5b169T9P3d1/Udvsr8mNvBTvT6s/nGfWpvmcXqn6jGbbCOsh7EE1AEybR7jf+xgPNiowrxyS1thuFueuV1DjBJK+CrbiwPKfsnt7yLkJFM257ZT3OimwhMyCpNpjKkZoNpipKmlk7zBJ0ZtTd2VltRL5qb1u5dL9XCpUXjis27pQWkjhNRsshA2E4c3KIgDIj8LWE3VFDmcMVBjiGaPbT70Fnt3XQin6FzZPTyTyWYBO+wDfczB6cwDm0oQPMC7zQO/AO/XV/zz/yj8dW35vUfIY34Z//B1Neq6A=</latexit> <latexit sha1_base64="GTgJwHjH3lmpxQUR/HjE7dwtEiw=">AAACjnicZVFNTxsxEJ1dyke3fAR65GI1ReoBol0ufEgIRDlwaZUWUpCyIfI6XrDw2ivbi4iWvfMv+FO99N90solQCCON9PzeG489k+RSWBeG/zx/7sP8wuLSx+DT8srqWmN944/VhWG8w7TU5jqhlkuheMcJJ/l1bjjNEsmvkvvvI/3qgRsrtLp0w5z3MnqrRCoYdUjpxm+IIYMENDxCCT/gAs6gAgJHmDGkYIACQyVCtgRVazE4EFjFwdYnCwWe+qgLrBs5b169T9P3d1/Udvsr8mNvBTvT6s/nGfWpvmcXqn6jGbbCOsh7EE1AEybR7jf+xgPNiowrxyS1thuFueuV1DjBJK+CrbiwPKfsnt7yLkJFM257ZT3OimwhMyCpNpjKkZoNpipKmlk7zBJ0ZtTd2VltRL5qb1u5dL9XCpUXjis27pQWkjhNRsshA2E4c3KIgDIj8LWE3VFDmcMVBjiGaPbT70Fnt3XQin6FzZPTyTyWYBO+wDfczB6cwDm0oQPMC7zQO/AO/XV/zz/yj8dW35vUfIY34Z//B1Neq6A=</latexit> <latexit sha1_base64="GTgJwHjH3lmpxQUR/HjE7dwtEiw=">AAACjnicZVFNTxsxEJ1dyke3fAR65GI1ReoBol0ufEgIRDlwaZUWUpCyIfI6XrDw2ivbi4iWvfMv+FO99N90solQCCON9PzeG489k+RSWBeG/zx/7sP8wuLSx+DT8srqWmN944/VhWG8w7TU5jqhlkuheMcJJ/l1bjjNEsmvkvvvI/3qgRsrtLp0w5z3MnqrRCoYdUjpxm+IIYMENDxCCT/gAs6gAgJHmDGkYIACQyVCtgRVazE4EFjFwdYnCwWe+qgLrBs5b169T9P3d1/Udvsr8mNvBTvT6s/nGfWpvmcXqn6jGbbCOsh7EE1AEybR7jf+xgPNiowrxyS1thuFueuV1DjBJK+CrbiwPKfsnt7yLkJFM257ZT3OimwhMyCpNpjKkZoNpipKmlk7zBJ0ZtTd2VltRL5qb1u5dL9XCpUXjis27pQWkjhNRsshA2E4c3KIgDIj8LWE3VFDmcMVBjiGaPbT70Fnt3XQin6FzZPTyTyWYBO+wDfczB6cwDm0oQPMC7zQO/AO/XV/zz/yj8dW35vUfIY34Z//B1Neq6A=</latexit> ਫ਼౓Λޡࠩͷύʔηϯτͱͯ͠ද͢ ͜ͷछͷதͰ͸Ұൠతʹར༻͞ΕΔ ਫ਼౓Λޡࠩͱಉ͡୯ҐͰද͢ ޡࠩͷྔΛ֓೦Խ͢Δͷʹ໾ཱͭ ෼ࢄ΍ඪ४ภࠩʹ͍ۙܭࢉࣜͱͳ͍ͬͯΔͨΊɺ ྨࣅͨ͠஋ͱଊ͑Δ͜ͱ͕Ͱ͖Δ ޡࠩͷࠩΛೋ৐͍ͯ͠ΔͨΊɺޡ͕ࠩେ͖͍৔߹ ʹڧௐͯ͠ܭࢉ͞Εɺ֎Ε஋ͷӨڹΛड͚΍͍͢ ฏۉઈରύʔηϯτޡࠩ ʢ."1&ʣ ฏۉઈରภࠩ ʢ."%ʣ ฏۉฏํภࠩ ʢ.4%ʣ ධՁࢦඪ ܭࢉࣜ ֓ཁ
  13. 5PSFUB *OD"MMSJHIUSFTFSWFE ༧ଌੑೳʹ͍ͭͯ ೥݄ͷ༧ଌൺֱ   w ࠇઢ͕࣮੷Ͱɺ੺ઢ͕༧ଌ  

        -PDBMMFWFM -PDBMMJOFBSUSFOE 4FBTPOBM $ZDMF -PDBMMFWFM 4FBTPOBM "*$ ."1& "*$ ."1& "*$ ."1& w ࣌ܥྻσʔλ͸͋Δ࣌఺Ͱαϯϓϧ਺ͷσʔλͷͨΊɺ༧ଌ͸؆୯ʹ౰ͨΒͳ͍ w ֶश࣌ͷධՁࢦඪ͸ඞͣ͠΋༧ଌ࣌ͷੑೳΛ୲อ͠ͳ͍ w ༧ଌ࣌ʹ͸࣮ࡍͷΞΫγϣϯΛݟਾ͑ͨධՁࢦඪʢྫ͑͹ച্ʣΛઃఆ͢΂͖
  14. 5PSFUB *OD"MMSJHIUSFTFSWFE   σʔλΛ࢖ͬͯʮ৯ͷ࢓ࣄΛɺ͓ ΋͠Ζ͘ʯ͢Δ஥ؒΛืू w ը૾ॲཧʢྉཧ΍͓ళͷࣸਅʣ w ࣗવݴޠॲཧʢϝχϡʔɺϨ

    Ϗϡʔɺ104ʣ w Ϧίϝϯσʔγϣϯ w ࣌ܥྻϞσϧʢधཁ༧ଌʣ σʔλαΠΤϯςΟετืूத ҿ৯ۀσʔλϏδωεల։த ໿ສళฮɺ೥ؒສ݅ͷ༧ ໿σʔλΛ࢖ͬͯɺ৽͍͠Ϗδω εΛى͜͢ύʔτφʔΛืू w ϚʔέςΟϯάϦαʔν w धཁ༧ଌ w ༧໿࠷దԽ
  15. 5PSFUB *OD"MMSJHIUSFTFSWFE "QQFOEJY   1 import numpy as np

    2 import pandas as pd 3 4 from matplotlib import pylab as plt 5 from matplotlib.pylab import rcParams 6 %matplotlib inline 7 8 import statsmodels.api as sm ࣮ߦ؀ڥ w .BD04)JHI4JFSSB w 1ZUIPO w +VQZUFS w /VNQZ w 1BOEBT w .BUQMPUMJC w 4UBUTNPEFMT ϥΠϒϥϦ
  16. 5PSFUB *OD"MMSJHIUSFTFSWFE "QQFOEJY ٙࣅσʔλੜ੒   1 start = pd.datetime(2017,

    1, 1) 2 end = pd.datetime(2018, 1, 31) 3 date_index = pd.date_range(start=start, end=end) 4 5 mu = 40 6 mu_week = [-2, -4, 0, 1, 7, 8, 3] 7 s = 4 8 9 10 def mu_season(x): 11 if (x % 365) < 31: 12 return -0.3*(x % 365) + 10 13 elif 31 <= (x % 365) < 90: 14 return 0.15*((x % 365)-31) 15 elif 90 <= (x % 365) < 212: 16 return -0.09*((x % 365)-90) + 10 17 elif 212 <= (x % 365) < 243: 18 return 0.3*((x % 365)-212) 19 elif 243 <= (x % 365) < 273: 20 return -0.3*((x % 365)-243)+10 21 elif 273 <= (x % 365): 22 return 0.11*((x % 365)-273) 23 24 25 Y = [] 26 np.random.seed(1234) 27 for i in range(len(date_index)): 28 Y.append(np.absolute(np.floor(np.random.normal(loc=mu + mu_week[i % 7] + mu_season(i), scale=s)))) 29 30 daily_customers = pd.DataFrame(data={'date': date_index, 'customers': Y}, index=date_index) ٙࣅσʔλ ੜ੒ 1 ax = daily_customers['customers'].plot(figsize=(8, 4), grid=True, color='black') 2 ax.set_ylabel('customers') 3 fig = ax.get_figure() ඳը
  17. 5PSFUB *OD"MMSJHIUSFTFSWFE "QQFOEJY Ϟσϧͷֶश   1 ts_training = daily_customers['2017']

    2 3 model = sm.tsa.UnobservedComponents(ts_training['customers'].to_frame(), level='local level') 4 5 result = model.fit() 6 7 print(result.summary()) -PDBMMFWFM NPEFMͷֶश 1 ts_training = daily_customers['2017'] 2 3 model = (sm.tsa.UnobservedComponents(ts_training['customers'].to_frame(), level='local linear trend' 4 , seasonal=7, cycle=True, cycle_period_bounds=(30,500))) 5 6 result = model.fit() 7 8 print(result.summary()) -PDBMMJOFBS USFOE  TFBTPOBM  DZDMFNPEFM ͷֶश 1 ts_training = daily_customers['2017'] 2 3 model = (sm.tsa.UnobservedComponents(ts_training['customers'].to_frame(), level='local linear trend', seasonal=7)) 4 5 result = model.fit() 6 7 print(result.summary()) -PDBMMFWFM  TFBTPOBM NPEFMͷֶश
  18. 5PSFUB *OD"MMSJHIUSFTFSWFE "QQFOEJY Ϟσϧͷ֬ೝɾ༧ଌͷ࣮ߦͱ."1&ͷࢉग़   1 rcParams['figure.figsize'] = 25,

    20 2 fig = result.plot_diagnostics() NPEFMͷ DPNQPOFOU TΛඳը 1 rcParams['figure.figsize'] = 15, 30 2 fig = result.plot_components() NPEFMͷ਍அ Λඳը 1 pred = result.predict(pd.to_datetime('2017-12-31'), pd.to_datetime('2018-01-31')) 2 3 ax = daily_customers['customers'].plot(figsize=(8, 4), grid=True, color='black') 4 ax.set_xlim([pd.datetime(2017, 12, 30), pd.datetime(2018, 1, 31)]) 5 ax.set_ylabel('customers') 6 ax = pred.plot(figsize=(8, 4), grid=True, color='red') 7 fig = ax.get_figure() ༧ଌͷ࣮ߦͱ ඳը 1 eval_test = daily_customers['customers']['2018'] 2 eval_pred = pred['2018'] 3 4 mape = 100 * np.sum(np.absolute(eval_test - eval_pred) / eval_test) / eval_test.shape[0] 5 print("MAPE = {0:.3f}".format(mape)) ."1&ͷࢉग़