öğretici: toplu algılama ve Power BI (tek değişkenli) kullanarak anomali görselleştirin

Toplu iş olarak ayarlanan zaman serisi verilerinin içindeki bozukluklar bulmak için bu öğreticiyi kullanın. Power BI masaüstü 'nü kullanarak, bir Excel dosyası alıp, anomali algılayıcı apı 'sine yönelik verileri hazırlayacak ve bunun genelinde istatistiksel anormallikleri görselleştirecaksınız.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • zaman serisi veri kümesini içeri ve dışarı dönüştürmek için Power BI Desktop kullanma
  • batch anomali algılama için anomali algılayıcı apı 'siyle Power BI Desktop tümleştirme
  • Beklenen ve görülen değerler ve anomali algılama sınırları dahil olmak üzere verilerinizde bulunan anormallikleri görselleştirin.

Önkoşullar

  • Azure aboneliği
  • Microsoft Power BI Desktopücretsiz olarak kullanılabilir.
  • Zaman serisi veri noktaları içeren bir Excel dosyası (.xlsx). Bu hızlı başlangıç için örnek veriler GitHub bulunabilir
  • Azure aboneliğiniz olduktan sonra anahtar ve uç noktanıza ulaşmak için Azure Portal bir anomali algılayıcı kaynağı oluşturun.
    • Uygulamanızı anomali algılayıcı API 'sine bağlamak için oluşturduğunuz kaynaktaki anahtar ve uç nokta gerekir. Bunu daha sonra hızlı başlangıçta yapacaksınız.

Not

Anomali algılayıcı API 'sini kullanırken en iyi sonuçlar IÇIN, JSON biçimli zaman serisi verileriniz şunları içermelidir:

  • beklenen sayıda noktadan daha fazla %10 ' dan fazla olan, aynı aralıkla ayrılmış veri noktaları.
  • en az 12 veri noktası, veriniz bir mevsimlik düzenine sahip değilse.
  • verilerinizin bir açık mevsimlik düzenine sahip olması durumunda en az 4 desenli yineleme.

Zaman serisi verilerini yükleme ve biçimlendirme

başlamak için Power BI Desktop açın ve önkoşullardan indirdiğiniz zaman serisi verilerini yükleyin. Bu Excel dosyası, bir dizi Eşgüdümlü Evrensel Saat (UTC) zaman damgası ve değer çiftleri içerir.

Not

Power BI, .csv dosyaları, SQL veritabanları, Azure blob depolama ve daha fazlası gibi çok çeşitli kaynaklardan verileri kullanabilir.

ana Power BI Desktop penceresinde, giriş şeridi ' ne tıklayın. Şeridin dış veri grubunda, veri al açılır menüsünü açın ve Excel' ye tıklayın.

Power BI içindeki "veri al" düğmesinin görüntüsü

İletişim kutusu görüntülendikten sonra, örnek .xlsx dosyasını indirdiğiniz klasöre gidin ve dosyayı seçin. Gezgin iletişim kutusu görüntülendikten sonra, Sheet1' e ve ardından Düzenle' ye tıklayın.

Power BI ' de veri kaynağı "Gezgini" ekranının görüntüsü

Power BI, ilk sütundaki zaman damgasını bir Date/Time veri türüne dönüştürür. Bu zaman damgaları, anomali algılayıcısı API 'sine gönderilmek üzere metne dönüştürülemelidir. Power Query Düzenleyicisi otomatik olarak açılmazsa Giriş sekmesinde sorguları Düzenle ' ye tıklayın.

Power Query düzenleyicisinde Dönüştür şeridine tıklayın. Herhangi bir sütun grubunda, veri türü: açılan menü menüsünü açın ve metin' i seçin.

Veri türü açılan listesi görüntüsü

Sütun türünü değiştirme hakkında bir bildirim aldığınızda, geçerli Değiştir' e tıklayın. Daha sonra, kapat & giriş şeridinde Uygula veya Uygula ' ya tıklayın.

Verileri göndermek ve yanıtı biçimlendirmek için bir işlev oluşturma

Veri dosyasını anomali algılayıcı API 'sine biçimlendirmek ve göndermek için yukarıda oluşturulan tabloda bir sorgu çağırabilirsiniz. Power Query düzenleyicisinde, giriş şeridinde, Yeni kaynak açılan menüsünü açın ve boş sorgu' ya tıklayın.

Yeni sorgunuzun seçili olduğundan emin olun ve ardından Gelişmiş Düzenleyici' ye tıklayın.

"Gelişmiş Düzenleyici" ekranının görüntüsü

Gelişmiş Düzenleyici içinde, tablodaki sütunları ayıklamak ve API 'ye göndermek için aşağıdaki Power Query a kod parçacığını kullanın. Daha sonra sorgu, JSON yanıtından bir tablo oluşturur ve döndürür. apiKeyDeğişkeni geçerli anomali ALGıLAYıCı API anahtarınızla ve uç noktanızla değiştirin endpoint . Sorguyu Gelişmiş Düzenleyici girdikten sonra bitti' ye tıklayın.

(table as table) => let

    apikey      = "[Placeholder: Your Anomaly Detector resource access key]",
    endpoint    = "[Placeholder: Your Anomaly Detector resource endpoint]/anomalydetector/v1.0/timeseries/entire/detect",
    inputTable = Table.TransformColumnTypes(table,{{"Timestamp", type text},{"Value", type number}}),
    jsontext    = Text.FromBinary(Json.FromValue(inputTable)),
    jsonbody    = "{ ""Granularity"": ""daily"", ""Sensitivity"": 95, ""Series"": "& jsontext &" }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Content-Type" = "application/json", #"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody, ManualStatusHandling={400}]),
    jsonresp    = Json.Document(bytesresp),

    respTable = Table.FromColumns({

                     Table.Column(inputTable, "Timestamp")
                     ,Table.Column(inputTable, "Value")
                     , Record.Field(jsonresp, "IsAnomaly") as list
                     , Record.Field(jsonresp, "ExpectedValues") as list
                     , Record.Field(jsonresp, "UpperMargins")as list
                     , Record.Field(jsonresp, "LowerMargins") as list
                     , Record.Field(jsonresp, "IsPositiveAnomaly") as list
                     , Record.Field(jsonresp, "IsNegativeAnomaly") as list

                  }, {"Timestamp", "Value", "IsAnomaly", "ExpectedValues", "UpperMargin", "LowerMargin", "IsPositiveAnomaly", "IsNegativeAnomaly"}
               ),

    respTable1 = Table.AddColumn(respTable , "UpperMargins", (row) => row[ExpectedValues] + row[UpperMargin]),
    respTable2 = Table.AddColumn(respTable1 , "LowerMargins", (row) => row[ExpectedValues] -  row[LowerMargin]),
    respTable3 = Table.RemoveColumns(respTable2, "UpperMargin"),
    respTable4 = Table.RemoveColumns(respTable3, "LowerMargin"),

    results = Table.TransformColumnTypes(

                respTable4,
                {{"Timestamp", type datetime}, {"Value", type number}, {"IsAnomaly", type logical}, {"IsPositiveAnomaly", type logical}, {"IsNegativeAnomaly", type logical},
                 {"ExpectedValues", type number}, {"UpperMargins", type number}, {"LowerMargins", type number}}
              )

 in results

Aşağıdaki parametre girin ' i seçerek veri sayfanızda sorguyu Sheet1 çağırın ve çağır' a tıklayın.

Invoke işlevinin görüntüsü

Veri kaynağı gizliliği ve kimlik doğrulaması

Not

Veri gizliliği ve erişimi için kuruluşunuzun ilkelerine dikkat edin. daha fazla bilgi için bkz. Power BI Desktop gizlilik düzeyleri .

Bir dış veri kaynağı kullandığından sorguyu çalıştırmaya çalıştığınızda bir uyarı iletisi alabilirsiniz.

Power BI tarafından oluşturulan bir uyarıyı gösteren resim

Bu hatayı onarmak için Dosya ve Seçenekler ve ayarlar' a tıklayın. Seçenekler' e tıklayın. Geçerli dosyanın altında Gizlilik' i seçin ve gizlilik düzeylerini yoksayın ve potansiyel olarak performansı geliştirebilirsiniz.

Ayrıca, API 'ye nasıl bağlanmak istediğinizi belirtmenizi isteyen bir ileti alabilirsiniz.

Erişim kimlik bilgilerini belirtme isteğini gösteren bir görüntü

Bu hatayı onarmak için iletideki kimlik bilgilerini düzenle ' ye tıklayın. İletişim kutusu görüntülendikten sonra, API 'ye anonim olarak bağlanmak için anonim ' i seçin. Ardından Bağlan’a tıklayın.

Ardından, değişiklikleri uygulamak için giriş şeridindeki Kapat & Uygula ' ya tıklayın.

Anomali algılayıcı API 'SI yanıtını görselleştirin

ana Power BI ekranında, verileri görselleştirmek için yukarıda oluşturulan sorguları kullanmaya başlayın. Önce Görselleştirmelerde çizgi grafik ' i seçin. Sonra çağrılan işlevden zaman damgasını çizgi grafiğinin eksenine ekleyin. Sağ tıklayın ve zaman damgası' nı seçin.

Zaman damgası değerine sağ tıklayın

Çağrılan işlevden aşağıdaki alanları grafiğin değerler alanına ekleyin. Grafiğinizi oluşturmaya yardımcı olması için aşağıdaki ekran görüntüsünü kullanın.

  • Değer
  • Üst Üstekenar boşlukları
  • Harf kenar boşlukları
  • ExpectedValues

Grafik ayarlarının görüntüsü

Alanları ekledikten sonra grafiğe tıklayın ve tüm veri noktalarını gösterecek şekilde yeniden boyutlandırın. Grafiğiniz aşağıdaki ekran görüntüsüne benzer şekilde görünür:

Grafik görselleştirmesinin görüntüsü

Anomali veri noktalarını görüntüle

Power BI penceresinin sağ tarafında, alanlar bölmesinin altında, çağrılan işlev sorgusunun altındaki değere sağ tıklayın ve yeni hızlı ölçü' e tıklayın.

Yeni hızlı ölçü ekranının görüntüsü

Görüntülenen ekranda, hesaplama olarak filtrelenmiş değer ' i seçin. Taban değerini olarak ayarlayın Sum of Value . Ardından IsAnomaly , çağrılan Işlev alanlarından filtrelemek için sürükleyin. True Filtre açılan menüsünden seçim yapın.

Yeni hızlı ölçü ekranının ikinci bir görüntüsü

Tamam' a tıkladıktan sonra, Value for True alanlarınızın listesinin en altında bulunan bir alana sahip olursunuz. Sağ tıklayın ve anomali olarak yeniden adlandırın. Bunu grafiğin değerlerine ekleyin. Daha sonra Biçim aracını seçin ve X ekseni türünü kategorik olarak ayarlayın.

X ekseninin biçimi resmi

Biçim aracına ve veri renklerine tıklayarak, grafiğinize renkler uygulayın. Grafiğiniz aşağıdakine benzer görünmelidir:

Son grafiğin bir görüntüsü