Slide 1

Slide 1 text

ҟৗݕ஌ͷجૅͱ࣮ફ ϓϩάϥϚͷͨΊͷ਺ֶษڧձ!෱Ԭ

Slide 2

Slide 2 text

ࣗݾ঺հ Խֶͷम࢜߸Λऔಘ ௽ాʢͭΔͨʣ 5XJUUFS!UTVSVCFF ΤϯδχΞྺϲ݄ ফ๷࢜ʹͳΔʢফ๷ୂɾٹٸୂɾՐࡂௐࠪ൝ʣ *5ΤϯδχΞʹస৬ʢ೥݄ʙʣ ʻܦྺʼ ܦྺ

Slide 3

Slide 3 text

໨࣍ ʙجૅฤʙ l ҟৗݕ஌ͱ͸ʁ l ҟৗݕ஌ͷԠ༻ྫ l ҟৗσʔλྫ l ҟৗݕ஌ͷΞϓϩʔν l ౷ܭతҟৗݕ஌ͷߟ͑ํ ʙ࣮ફฤʙ l ϗςϦϯάཧ࿦ʹΑΔҟৗݕ஌ l 1ZUIPOʹΑΔ࣮૷

Slide 4

Slide 4 text

ҟৗݕ஌ͱ͸ʁ

Slide 5

Slide 5 text

େଟ਺ͷσʔλͱ͸ৼΔ෣͍͕ ҟͳΔσʔλΛݕग़͢Δٕज़

Slide 6

Slide 6 text

େଟ਺ͷσʔλͱ͸ৼΔ෣͍͕ ҟͳΔσʔλΛݕग़͢Δٕज़ σʔλϚΠχϯά نଇੑ ҟৗ σʔλͷࢁ

Slide 7

Slide 7 text

ҟৗݕ஌ͷԠ༻ྫ

Slide 8

Slide 8 text

ҟৗݕ஌ͷԠ༻ྫ ίϯϐϡʔλ΢Πϧε΍%PT߈ܸͷૣظൃݟ ηΩϡϦςΟ෼໺ ނো༧ஹݕ஌ ػց෼໺ ྲྀߦͷݕ஌ɾ৽τϐοΫͷൃݟɾ ϢʔβߦಈͷมԽݕ஌ ϚʔέςΟϯά෼໺

Slide 9

Slide 9 text

ҟৗσʔλྫ

Slide 10

Slide 10 text

ҟৗσʔλྫ̍

Slide 11

Slide 11 text

ҟৗσʔλྫ̍ ҟৗʂ

Slide 12

Slide 12 text

ҟৗσʔλྫ̍ ҟৗʂ if value > 120: print('ERROR!') JGจͰݕ஌Ͱ͖ͦ͏ʂ

Slide 13

Slide 13 text

ҟৗσʔλྫ̎

Slide 14

Slide 14 text

ҟৗσʔλྫ̎ Կ͔ҟৗ͕ى͖ͯΔ ҟৗʹ΋͍Ζ͍Ζ͋Δ

Slide 15

Slide 15 text

ҟৗݕ஌ͷ෼ྨ ֎Ε஋ݕ஌ มԽ఺ݕ஌ ҟৗݕ஌ ٸܹͳৼΔ෣͍ͷมԽΛݕ஌ ࣌ܥྻϞσϧ ଞͱ͸େ͖͘ҟͳΔ஋Λݕ஌ ಠཱϞσϧ

Slide 16

Slide 16 text

ҟৗݕ஌ͷ෼ྨ ֎Ε஋ݕ஌ มԽ఺ݕ஌ ҟৗݕ஌ ࠓճ͸ίονͷ࿩ʂ ٸܹͳৼΔ෣͍ͷมԽΛݕ஌ ࣌ܥྻϞσϧ ଞͱ͸େ͖͘ҟͳΔ஋Λݕ஌ ಠཱϞσϧ

Slide 17

Slide 17 text

ҟৗݕ஌ͷΞϓϩʔν

Slide 18

Slide 18 text

ҟৗݕ஌ͷΞϓϩʔν ஫ɿॏͳΔ෦෼΋͋Γ·͢ Ξϓϩʔνͷछྨ ख๏ྫ ϧʔϧϕʔεɾΞϓϩʔν ڑ཭ʹΑΔΞϓϩʔν ,ۙ๣๏ɺಛҟεϖΫτϧม׵๏ɺଞ ౷ܭతΞϓϩʔν ϗςϦϯάཧ࿦ɺΧʔωϧີ౓ਪఆ๏ɺଞ ػցֶशΞϓϩʔν αϙʔτϕΫλʔϚγϯʢ47.ʣɺ χϡʔϥϧωοτϫʔΫɺଞ

Slide 19

Slide 19 text

ҟৗݕ஌ͷΞϓϩʔν ΞϓϩʔνʹΑΓඞཁͳٻΊΒΕΔ஌͕ࣝएׯҟͳΔ ஫ɿॏͳΔ෦෼΋͋Γ·͢ Ξϓϩʔνͷछྨ ख๏ྫ ϧʔϧϕʔεɾΞϓϩʔν ڑ཭ʹΑΔΞϓϩʔν ,ۙ๣๏ɺಛҟεϖΫτϧม׵๏ɺଞ ౷ܭతΞϓϩʔν ϗςϦϯάཧ࿦ɺΧʔωϧີ౓ਪఆ๏ɺଞ ػցֶशΞϓϩʔν αϙʔτϕΫλʔϚγϯʢ47.ʣɺ χϡʔϥϧωοτϫʔΫɺଞ ࠓճ͸ίϨʂ

Slide 20

Slide 20 text

ͭ·Γࠓճ͸ɺ ʮ౷ܭతҟৗݕ஌ʹΑΔ ֎Ε஋ݕ஌ʯ ͷ࿩Ͱ͢

Slide 21

Slide 21 text

౷ܭతҟৗݕ஌ͷ ߟ͑ํ

Slide 22

Slide 22 text

౷ܭతҟৗݕ஌ͷߟ͑ํ ඪຊநग़ ඪຊ ਅͷ෼෍ ౷ܭతҟৗݕ஌Ͱ͸ɺ؍ଌσʔλ͕͋Δಛఆͷ֬཰Ϟσϧ ֬཰෼෍ ͔Βੜ੒͞Ε͍ͯΔͱԾఆ͢Δɻ ฼ूஂ ਖ਼ৗ࣌ͷ ෼෍ ֶश σʔλ͔Βਖ਼ৗͱͳΔϞσϧΛͭ͘Γɺ͔ͦ͜Β֎ΕΔ΋ͷΛҟৗͱ͢Δɻ

Slide 23

Slide 23 text

ೖྗσʔλ ֬཰Ϟσϧ ͷֶश είΞܭࢉ ग़ྗ ؍ଌσʔλ͔Βσʔλੜ੒ͷ֬཰ϞσϧΛֶश ᶃ ະ஌ύϥϝʔλΛؚΉ֬཰෼෍ΛԾఆ ᶄ σʔλ͔Βະ஌ύϥϝʔλΛਪఆ ֶशͨ͠ϞσϧΛجʹɺҟৗ౓߹͍ΛείΞϦϯά ᮢ஋ͷઃఆ ᶃ ᶄ ᶅ ౷ܭతҟৗݕ஌ͷجຊεςοϓ

Slide 24

Slide 24 text

ʙ࣮ફฤʙ ϗςϦϯάཧ࿦ʹΑΔ ҟৗݕ஌

Slide 25

Slide 25 text

༻͍Δσʔλ %BWJTσʔλɿਓͷੑผɺଌఆͨ͠਎௕ɾମॏɺ ͓Αͼࣗݾਃࠂͷ਎௕ɾମॏσʔλ IUUQTWJODFOUBSFMCVOEPDLHJUIVCJP3EBUBTFUTEBUBTFUTIUNM

Slide 26

Slide 26 text

༻͍Δσʔλ %BWJTσʔλɿਓͷੑผɺଌఆͨ͠਎௕ɾମॏɺ ͓Αͼࣗݾਃࠂͷ਎௕ɾମॏσʔλ IUUQTWJODFOUBSFMCVOEPDLHJUIVCJP3EBUBTFUTEBUBTFUTIUNM มྔͷཧ࿦Λͬ͘͡Γ΍Γ·͢ ଌఆମॏͷΈʂ

Slide 27

Slide 27 text

σʔλͷՄࢹԽ ਓͷମॏσʔλͷ෼෍

Slide 28

Slide 28 text

σʔλͷՄࢹԽ ਓͷମॏσʔλͷ෼෍ ֎Ε஋ ౷ܭֶతʹ٬؍తͳਫ४Ͱݕ஌͢Δʹ͸ʁ ֎Ε஋ ౷ܭతҟৗݕ஌

Slide 29

Slide 29 text

ೖྗσʔλ ֬཰Ϟσϧ ͷֶश είΞܭࢉ ग़ྗ ᶃ ᶄ ᶅ ࠶ܝ ౷ܭతҟৗݕ஌ͷجຊεςοϓ ؍ଌσʔλ͔Βσʔλੜ੒ͷ֬཰ϞσϧΛֶश ᶃ ະ஌ύϥϝʔλΛؚΉ֬཰෼෍ΛԾఆ ᶄ σʔλ͔Βະ஌ύϥϝʔλΛਪఆ ֶशͨ͠ϞσϧΛجʹɺҟৗ౓߹͍ΛείΞϦϯά ᮢ஋ͷઃఆ

Slide 30

Slide 30 text

̍؍ଌσʔλ͔Βσʔλੜ੒ͷ֬཰ϞσϧΛֶश ˞σʔλͷதʹ͸ҟৗͳ؍ଌσʔλؚ͕·Ε͍ͯͳ͍͔ɺ ؚ·Ε͍ͯͨͱͯ͠΋ͦͷӨڹ͸ແࢹͰ͖ΔͱԾఆ ؍ଌσʔλ͕ݸ͋Δͱ͖ɺσʔλΛ·ͱΊͯͱ͍͏ه߸Ͱද͢ɻ ᶃ ະ஌ύϥϝʔλΛؚΉ֬཰෼෍ΛԾఆ ɿฏۉ 2ɿ෼ࢄ ֬཰Ϟσϧ ʹ ਖ਼ن෼෍ΛԾఆ ϗςϦϯάཧ࿦

Slide 31

Slide 31 text

ᶄ σʔλ͔Βະ஌ύϥϝʔλΛਪఆ ฏۉ、෼ࢄ2Λ؍ଌσʔλ͔Βਪఆ ࠷໬ਪఆ ܭࢉͷ౎߹্ɺ໬౓ؔ਺ͷࣗવର਺Λͱͬͨର਺໬౓ؔ਺Λ࠷େԽ͢Δɻ ̍؍ଌσʔλ͔Βσʔλੜ੒ͷ֬཰ϞσϧΛֶश ؍ଌσʔλ͕ޓ͍ʹಠཱ

Slide 32

Slide 32 text

ͱͨ͠৔߹ɺର਺໬౓໬౓ؔ਺͸ɺ ࠷େԽ͢ΔύϥϝʔλΛٻΊΔͨΊɺͱͰͦΕͧΕภඍ෼ͯ͠θϩͱ͓͘ ̍؍ଌσʔλ͔Βσʔλੜ੒ͷ֬཰ϞσϧΛֶश

Slide 33

Slide 33 text

ฏۉɾ෼ࢄͷਪఆ஋ͱͯ͠ɺ؍ଌσʔλͷඪຊฏۉɾඪຊ෼ࢄΛ ࠾༻͢Δ͜ͱΛҙຯ͍ͯ͠Δ ֶशࡁΈ֬཰Ϟσϧʢ༧ଌ෼෍ʣ ͕ಘΒΕΔɻ ˞ਪఆ஋Ͱ͋Δ͜ͱΛ໌ࣔ͢ΔͨΊʮ? ϋοτ ʯΛ͚ͭͨɻ ̍؍ଌσʔλ͔Βσʔλੜ੒ͷ֬཰ϞσϧΛֶश

Slide 34

Slide 34 text

ֶ̎शͨ͠ϞσϧΛجʹɺҟৗ౓߹͍ΛείΞϦϯά ҟৗ౓ͷఆٛͱͯ͠ɺ ෛͷର਺໬౓Λ࠾༻ ৽ͨͳ؍ଌ஋(ʹର͢Δҟৗ౓(() ͸ɺ ୈ߲͸؍ଌσʔλ(ʹґଘ͠ͳ͍ͷͰແࢹ͢ΔɻશମʹΛ͔͚Δͱɺ ඪຊฏۉ͔ΒͷͣΕͷେ͖͞ ΋ͱ΋ͱ͹Β͖ͭͷେ͖͍΋ͷ͸ଟগͷ ͣΕͰ΋ଟΊʹݟΔ ෼ࢠɿ ෼฼ɿ ҟৗ౓ ௚ײʹ͍ۙʂ

Slide 35

Slide 35 text

̏ᮢ஋ͷઃఆ ҟৗ౓ͷᮢ஋Λઃఆ͢Δ͜ͱͰҟৗ൑ఆͰ͖Δʂ Ͱ΋ɺᮢ஋͸Ͱ͖Δ͚ͩ٬؍తج४ʹج͍ܾͮͯΊ͍ͨɾɾ ϗςϦϯάཧ࿦ͷҟৗ౓ ҟৗ౓͕ै͏֬཰෼෍Λɺ ໌ࣔతʹಋ͘͜ͱ͕Ͱ͖Δʂ ͭ·Γɺύʔηϯτ஋ʹΑΓҟৗ൑ఆΛߦ͏͜ͱ͕Ͱ͖Δʂ ྫ͑͹ ʮਓʹਓ͔͍͠ͳ͍ϨΞͩͬͨ͞Βҟৗͱ൑அ͠Α͏ʯ

Slide 36

Slide 36 text

̏ᮢ஋ͷઃఆ σʔλ਺͕े෼ʹେ͖͍࣌ɺҟৗ౓(()͸ࣗ༝౓ͷΧΠೋ৐෼෍ʹै͏ ɿඪ४ਖ਼ن෼෍(0, 1) ʹै͏֬཰ม਺ ࣗ༝౓OͷΧΠೋ৐෼෍ɿ ྫ͑͹ɺ(() = 2.0ͷ஋ ͕ى͜Γ͏Δ֬཰͸ʁ ࣗ༝౓ͷΧΠೋ৐෼෍ ͜͜Λੵ෼͢Δʂ

Slide 37

Slide 37 text

1ZUIPOʹΑΔ࣮૷

Slide 38

Slide 38 text

࡞Γ͍ͨ΋ͷ ೖྗͱͯ͠ɺσʔλͱҟৗ౓ͷᮢ஋ Λ༩͑Δͱɺ ग़ྗͱͯ͠ɺҟৗ஋ͱͦͷΠϯσοΫε൪߸ Λฦؔ͢਺Λ࡞Δɻ ࢖༻ϥΠϒϥϦ /VN1Z 4DJ1Z ΧΠೋ৐෼෍ͷ ੵ෼஋ͷࢉग़ʹར༻ ࢖༻ݴޠ 1ZUIPO

Slide 39

Slide 39 text

import numpy as np from scipy import stat def hotelling_1d(data, threshold): """ Parameters ---------- data : Numpy array threshold : float Returns ------- List of tuples where each tuple contains index number and anomalous value. """ #Covert raw data into the degree of abnormality avg = np.average(data) var = np.var(data) data_abn = [(x - avg)**2 / var for x in data] #Set the threshold of abnormality abn_th = stats.chi2.interval(1-threshold, 1)[1] #Abnormality determination result = [] for (index, x) in enumerate(data_abn): if x > abn_th: result.append((index, data[index])) return result

Slide 40

Slide 40 text

1ZUIPOʹΑΔ࣮૷ hotelling_1d(data, 0.01) #-> [(11, 166), (20, 119)] ᮢ஋

Slide 41

Slide 41 text

1ZUIPOʹΑΔ࣮૷ hotelling_1d(data, 0.01) #-> [(11, 166), (20, 119)] ᮢ஋

Slide 42

Slide 42 text

ϗςϦϯάཧ࿦ͷݶք ؍ଌσʔλಉ͕࢜ޓ͍ʹಠཱͰɺͦΕͧΕ͕୯Ұͷ ਖ਼ن෼෍ʹै͍ͬͯΔͱԾఆ͍ͯ͠ΔͨΊɺ ̍ෳ਺ͷϞʔυ͕͋ΔΑ͏ͳෳࡶͳܥ΁ͷద༻͕ࠔ೉ ̎஋͕ಈతʹมԽ͢Δ࣌ܥྻσʔλ΁ͷద༻͕ࠔ೉

Slide 43

Slide 43 text

·ͱΊ ϗςϦϯάཧ࿦Ͱ͸ɺ؍ଌσʔλΛਖ਼ن෼෍ ʹै͏ͱԾఆ͢Δɻ ఆٛͨ͠ҟৗ౓͕ɺΧΠೋ৐෼෍ʹै͏ͨΊɺ ΧΠೋ৐෼෍ʹج͖ͮܭࢉͨ͠ҟৗ౓ͷᮢ஋ ʹΑΓҟৗ൑ఆͰ͖Δɻ ଟ࣍ݩσʔλ΍࣌ܥྻσʔλͷҟৗݕ஌͸ ·ͨผͷػձʢ1Z'VLVPLBɺσʔλαΠΤϯε ษڧձʁʣʹ࿩͠·͢ʂ