# Kalman Filtresi Performans ve Tutarlılık Testleri

> Bir Kalman filtresinin gerçekten doğru çalışıp çalışmadığını nasıl anlarız? Bu ders, altı değerlendirme boyutunu sırayla kuruyor: RMSE ile kestirim doğruluğu, NEES ve ANEES ile kovaryans tutarlılığı ve ki kare güven sınırları, NIS ile ölçüm tutarlılığı ve hipotez testi, inovasyon otokorelasyonu ile beyazlık ve Kolmogorov Smirnov ile normallik, Monte Carlo koşularıyla istatistiksel dayanıklılık, ve sırası bozuk ölçümler, replay ve gerçek zamanlı çalışma ile zamanlama güvenilirliği. Her testin sezgisi, formülü, aşırı güvenli ve fazla temkinli filtrenin nasıl göründüğü ve test başarısız olduğunda nereye bakılacağı gösteriliyor.

- Canonical watch page: [Kalman Filtresi Performans ve Tutarlılık Testleri](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri)
- Publisher: [Academa, Inc.](https://academa.ai)
- Subject: Engineering
- Published: 2026-11-04T12:12:14.475Z
- Updated: 2026-11-04T12:12:14.475Z
- Duration: PT758S (12 minutes 38 seconds)
- Chapters: 6
- Views: 2
- Language: en-US
- Access: Free
- Video stream: [HLS content](https://academa.ai/media/l/01M6K3T0QG1KE1TQKTK49RJ1JN/0/dark/master.m3u8)
- Embed: [Player](https://academa.ai/embed/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri)
- Audiovisual record: [Semantic JSON](https://academa.ai/media/l/01M6K3T0QG1KE1TQKTK49RJ1JN/0/semantic.json)
- Thumbnail: [Image](https://academa.ai/media/l/01M6K3T0QG1KE1TQKTK49RJ1JN/0/dark/poster.jpg)

## Description

Kalman filtresini RMSE, NEES, ANEES, NIS, beyazlık, KS testi, Monte Carlo ve zamanlama testleriyle değerlendirmeyi adım adım öğrenin.

## Chapters

- [00:00–02:1.001 · Neden Test Ederiz? Doğruluk ve RMSE](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=0)
- [02:1.001–05:0.303 · Kovaryans Tutarlılığı: NEES ve ANEES](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=121.0010625)
- [05:0.303–06:53.521 · Ölçüm Tutarlılığı: NIS](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=300.30333333333334)
- [06:53.521–08:59.093 · İnovasyon Beyazlığı ve KS Testi](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=413.52070833333335)
- [08:59.093–10:11.355 · İstatistiksel Dayanıklılık: Monte Carlo](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=539.0931875)
- [10:11.355–12:38 · Zamanlama, Replay ve Teşhis](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=611.3554583333333)

## Transcript

### [00:00 · Neden Test Ederiz? Doğruluk ve RMSE](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=0)

Bir Kalman filtresi yazdınız, kod çalışıyor ve kestirimler makul görünüyor. Peki filtrenin gerçekten doğru çalıştığını nasıl bilirsiniz? Bu derste bunun için kullandığımız testleri tek tek kuracağız. Filtreyi altı ayrı soruyla sorgulayacağız. Birincisi doğruluk: hata ne kadar büyük? Bunu RMSE ile ölçeriz. İkincisi kovaryans tutarlılığı: filtre kendi belirsizliğini doğru biliyor mu? NEES ve ANEES bunu ölçer. Üçüncüsü ölçüm tutarlılığı, yani NIS. Dördüncüsü inovasyonların beyaz ve Gauss dağılımlı olup olmadığı. Beşincisi Monte Carlo ile istatistiksel dayanıklılık. Altıncısı da zamanlama: geç gelen ölçümler, kayıttan tekrar oynatma ve gerçek zaman. Bu altı sorunun ortak bir fikri var. Filtre her adımda bize iki şey verir: bir kestirim ve bu kestirime ne kadar güvendiğini söyleyen bir kovaryans. Testler, bu ikisinin gerçekle uyuşup uyuşmadığına bakar. Önce doğruluk. Gerçek durumu bildiğimiz bir benzetimde her an kestirim hatasını hesaplayabiliriz: gerçek durumdan kestirimi çıkarırız. Bu mavi eğri, tek bir koşudaki hatanın zamanla değişimi. Bazen pozitif, bazen negatif, ortalaması sıfıra yakın. Bu yüzden hatayı doğrudan ortalamak bize büyüklüğü söylemez. Çözüm, önce karesini almak. Sarı eğri hatanın karesi, artık her şey pozitif. Sonra bu kareleri ortalarız ve karekök alarak birimi geri getiririz. Formüldeki N, Monte Carlo koşu sayısı. Her koşunun hata karesi toplanır, koşu sayısına bölünür ve karekökü alınır. Bu örnekte sonuç yaklaşık sıfır virgül yetmiş üç metre. Yeşil çizgiler bu seviyeyi gösteriyor: hata tipik olarak bu bandın içinde dolaşır. Ama dikkat. RMSE yalnızca hatanın ne kadar büyük olduğunu söyler. Filtrenin bu hatayı önceden bilip bilmediğini söylemez. Bunun için kovaryansa bakmamız gerekiyor.

### [02:1.001 · Kovaryans Tutarlılığı: NEES ve ANEES](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=121.0010625)

Kalman filtresi yalnızca bir kestirim üretmez, bu kestirimin ne kadar belirsiz olduğunu da söyler: kovaryans matrisi P. Sarı kesikli çizgiler, filtrenin kendi iddiası olan artı eksi iki sigma bandı. Tutarlı bir filtrede gerçek hata bu bandın içinde kalır, yalnızca arada bir dışarı taşar. Burada durum tam olarak böyle. Şimdi filtrenin kendine fazla güvendiğini düşünün. Kovaryans gerçekte olduğundan küçük. Bant daralıyor ve hata sürekli dışarı taşıyor. Buna aşırı güvenli filtre diyoruz. Tersi de olabilir. Kovaryans gereğinden büyükse bant genişler ve hata kenarlara hiç yaklaşmaz. Bu da fazla temkinli bir filtre. İkisi de kötü. Aşırı güvenli filtre yeni ölçümleri dinlemeyi bırakır ve sapar. Fazla temkinli filtre gürültüye gereğinden çok tepki verir. Doğru bant ikisinin arasında. Bunu tek bir sayıya dökelim. Hatayı kovaryansın tersiyle ağırlıklandırırız. Sonuç NEES: normalleştirilmiş kestirim hatası karesi. Kilit nokta, ortadaki P üzeri eksi bir terimi. Hata büyük ama filtre küçük kovaryans iddia ediyorsa NEES büyür. Yani NEES, gerçek hatayı filtrenin iddiasıyla kıyaslar. Filtre tutarlıysa hata sıfır ortalamalı Gauss dağılımlıdır ve kovaryansı gerçekten P olur. O zaman NEES, serbestlik derecesi durum boyutu olan bir ki kare dağılımına uyar. Ki kare dağılımının ortalaması serbestlik derecesine eşittir. Dolayısıyla tutarlı bir filtrede NEES ortalaması durum boyutuna eşit olmalı. İki boyutlu bir durum için bu sayı iki. Tek bir koşudaki NEES çok gürültülüdür, tek başına karar vermeye yetmez. Bu yüzden aynı senaryoyu N kez, farklı rastgele gürültülerle koşarız. Her zaman adımında N tane NEES değerinin ortalamasını alırız. Buna ortalama NEES, kısaca ANEES denir. Mavi eğri, elli koşuluk bir deneyin ANEES değeri. Peki ne kadar sapma kabul edilebilir? N çarpı ANEES, serbestlik derecesi N çarpı durum boyutu olan bir ki kare dağılımına uyar. Bu dağılımın yüzde doksan beşlik aralığını N ile böleriz. Elli koşu ve iki boyutlu durum için sınırlar bir virgül kırk sekiz ve iki virgül elli dokuz. İşte yeşil kesikli çizgiler. Tutarlı bir filtrenin ANEES eğrisi zamanın büyük bölümünde bu bandın içinde kalır. Bizim eğrimiz de tam iki civarında dolaşıyor. Eğri üst sınırın üstüne çıkarsa filtre aşırı güvenlidir, yani kovaryansı küçüktür. İlk şüpheliler çok küçük seçilmiş bir süreç gürültüsü Q ya da modelde eksik bir dinamiktir. Eğri alt sınırın altına inerse filtre fazla temkinlidir. Q ya da başlangıç kovaryansı gereğinden büyük seçilmiş olabilir. Ayarlar düzeltildiğinde eğri banda geri döner. Dikkat: bu test gerçek durumu bilmeyi gerektirir, yani yalnızca benzetimde yapılabilir.

### [05:0.303 · Ölçüm Tutarlılığı: NIS](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=300.30333333333334)

NEES testinin bir zayıflığı var: gerçek durumu bilmemiz gerekiyor. Sahadaki gerçek bir araçta bu bilgi yoktur, elimizde yalnızca ölçümler vardır. Filtre her adımda gelecek ölçümü tahmin eder. Gelen ölçüm ile bu tahmin arasındaki farka inovasyon denir. Filtre bu farkın büyüklüğünü de öngörür: inovasyon kovaryansı S. Durum belirsizliğinin ölçüm uzayına taşınmış hali, artı ölçüm gürültüsü R. İnovasyonu S matrisinin tersiyle ağırlıklandırırsak NIS elde ederiz: normalleştirilmiş inovasyon karesi. Yapı NEES ile aynı, ama gerçek değere hiç ihtiyaç yok. Tutarlı bir filtrede NIS, serbestlik derecesi ölçüm boyutu olan bir ki kare dağılımına uyar. Sağdaki mavi eğri, iki boyutlu bir ölçüm için bu dağılımdır. Hipotez testini kuralım. Sıfır hipotezi, filtrenin tutarlı olduğudur. Yeşil alan, yüzde doksan beş güvenlik kabul bölgesidir. Sınırlar sıfır virgül sıfır beş ve yedi virgül otuz sekiz. Bir adımda NIS bir virgül sekiz çıktı diyelim. Kabul bölgesinin içinde, reddetmek için bir neden yok. Peki on virgül beş çıkarsa? Bu, kuyrukta kalan ve çok olası olmayan bir değer. Bir kez olursa tesadüftür, sık sık oluyorsa filtre aşırı güvenlidir. Tipik nedenler, çok küçük seçilmiş bir ölçüm gürültüsü R, yanlış bir ölçüm modeli H ya da aykırı ölçümlerdir. Ters yönde, NIS sürekli sıfıra çok yakınsa filtre ölçümleri olduğundan gürültülü sanıyordur. Bu kez R büyük seçilmiş olabilir. Tek bir adım yerine K adımlık zaman ortalaması çok daha güçlü bir testtir. K çarpı ortalama NIS, K çarpı ölçüm boyutu serbestlikli bir ki kare dağılımına uyar. En güzeli şu: bu test gerçek değer istemediği için sahada, canlı veriyle de çalıştırılabilir.

### [06:53.521 · İnovasyon Beyazlığı ve KS Testi](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=413.52070833333335)

Tutarlılık testleri büyüklüğe bakar. Optimal bir Kalman filtresinin inovasyonları bir şey daha sağlamalı: zaman içinde birbirinden bağımsız olmalı. Buna beyazlık denir. Mantık şu: inovasyon, ölçümün tahmin edilemeyen kısmıdır. Bugünkü inovasyon yarınkini tahmin etmeye yarıyorsa, filtre eldeki bilgiyi tam kullanmıyor demektir. Bunu otokorelasyonla ölçeriz. İnovasyon dizisini, l adım kaydırılmış haliyle çarpar, toplar ve normalleştiririz. Beyaz bir dizide sıfırdan farklı her gecikmede bu değer küçüktür. Mavi çubuklar sıfır çevresinde rastgele dağılıyor. Ne kadar küçük? K örnekte yüzde doksan beş sınırı, bir virgül doksan altı bölü kök K. Yüz örnekte yaklaşık sıfır virgül iki. Yeşil kesikli çizgiler bu sınır. Şimdi modelde eksik bir dinamik olduğunu düşünün, örneğin ivmeyi modellemedik. İnovasyonlar renklenir: ilk gecikmeler sınırın çok üstüne çıkar ve yavaşça söner. Bu görüntü, modelin bir şeyi kaçırdığını gösterir. Çare, model yapısını gözden geçirmek ya da süreç gürültüsünü doğru yapıda kurmaktır. Beyazlık bağımsızlığı sınar. Bir de dağılımın şekline bakarız: inovasyonlar gerçekten Gauss mu? Her inovasyonu kendi standart sapmasına böleriz, tutarlı filtrede sonuç standart normal dağılır. Sarı eğri standart normalin birikimli dağılım fonksiyonu. Mavi merdiven ise on iki normalleştirilmiş inovasyonun deneysel birikimli dağılımı. Kolmogorov Smirnov testi, bu iki eğri arasındaki en büyük dikey uzaklığa bakar. Bu uzaklığa D istatistiği denir. Burada D yaklaşık sıfır virgül sıfır dokuz. On iki örnek için yüzde doksan beşlik kritik değer sıfır virgül otuz dokuz. D bunun çok altında, normallik reddedilmez. Test başarısız olursa genellikle kalın kuyruklu gürültü ya da aykırı ölçümler vardır. O zaman ölçüm kapısı ya da sağlam bir gürültü modeli düşünülür. Unutmayın, NIS ortalaması tutsa bile dağılımın şekli yanlış olabilir.

### [08:59.093 · İstatistiksel Dayanıklılık: Monte Carlo](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=539.0931875)

Şimdiye kadar konuştuğumuz testlerin çoğu tek bir koşuya güvenmez. Gürültü rastgeledir, tek bir şanslı ya da şanssız koşu bizi yanıltabilir. Çözüm Monte Carlo benzetimidir. Her koşuda başlangıç durumunu, süreç gürültüsünü ve ölçüm gürültüsünü bağımsız olarak yeniden çekeriz. Senaryo aynı, rastgelelik farklı. Sonra RMSE, ANEES ve NIS gibi metrikleri tüm koşular üzerinden ortalarız. Peki kaç koşu yeterli? Koşu sayısı arttıkça ANEES kabul bandı daralır. On koşuda bant sıfır virgül doksan altı ile üç virgül kırk iki arasında, oldukça geniş. Elli koşuda bir virgül kırk sekiz ile iki virgül elli dokuz arasına iner. Yüz koşuda ise bir virgül altmış üç ile iki virgül kırk bir arası. Bant, beklenen değer olan ikinin çevresinde sıkışıyor. Daha çok koşu, daha keskin bir test demektir ve küçük tutarsızlıklar da yakalanır. Pratikte elli ile yüz koşu iyi bir başlangıçtır. Bir uyarı daha: tek senaryo yetmez. Farklı manevralar, başlangıç hataları ve gürültü seviyeleriyle de deneriz. Rastgele tohumları da kaydederiz ki her sonuç birebir tekrarlanabilsin.

### [10:11.355 · Zamanlama, Replay ve Teşhis](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=611.3554583333333)

Son boyut zamanlama. Gerçek sistemlerde ölçümler her zaman sırayla gelmez. Bir radar ölçümü üç virgül dördüncü saniyede alınmış, ama ağ gecikmesi yüzünden ancak beş virgül altıda gelmiş olabilir. Bu arada filtre çoktan beşinci saniyeye ilerlemiştir. Buna sırası bozuk ölçüm, kısaca OOSM denir. Üç yol var. En basit yol, ölçümü atmaktır, ama bilgi kaybederiz. İkinci yol, geçmiş durumları bir tamponda saklamak, ölçüm anına geri sarmak ve sonrasını yeniden işlemektir. Doğrudur ama hesap yükü getirir. Üçüncü yol, gecikmiş ölçümü geriye doğru bir kestirimle doğrudan bugünkü duruma katmaktır. Daha ucuzdur ama dikkatli bir türetme ister. Nasıl test ederiz? Kaydedilmiş veriyi, gecikmeleri yapay olarak karıştırıp tekrar oynatırız ve sonucu sıralı işlenmiş referansla karşılaştırırız. NEES ve NIS burada da tutmalı. Bir de kayıttan tekrar oynatma testi var. Aynı kayıt aynı filtreye verildiğinde her seferinde birebir aynı sonucu almalıyız. Almıyorsak kodda bir zamanlama ya da başlatma hatası vardır. Son olarak gerçek zaman. Her döngüde hesap süresi ile gecikmenin toplamı, örnekleme periyodundan küçük olmalı. Mavi eğri döngü başına hesap süresi, kırmızı çizgi on milisaniyelik sınır. Ortalama süre sınırın rahatça altında. Ama yetmişinci döngü civarında bir sıçrama sınırı aşıyor. Gerçek zamanda önemli olan ortalama değil, en kötü durumdur. Bir de her ölçümü varış anına göre değil, gerçek ölçüm anına göre işleyin. Zaman damgası hatası, tutarlılık testlerini sessizce bozar. Toparlayalım. Bir test başarısız olduğunda nereye bakacağımızı bu tablo özetliyor. ANEES ya da NIS üst sınırı aşıyorsa filtre aşırı güvenlidir: Q ya da R çok küçük, ya da model eksik. Alt sınırın altındaysa tersi, kovaryanslar şişkin. İnovasyonlar renkliyse modelde eksik bir dinamik aranır. KS testi başarısızsa aykırı değerlere ve Gauss dışı gürültüye bakılır. Replay ile gerçek zamanlı sonuçlar ayrışıyorsa zaman damgalarına ve geciken ölçümlere bakılır. Bu testlerin hepsinden geçen bir filtre artık yalnızca çalışan değil, kendi belirsizliğini doğru bilen bir filtredir. Dersin amacı da tam olarak buydu.

## About Academa, Inc.

Academa makes technical knowledge easier to understand through visual lectures and lets learners request new lecture videos on the topics they need.

## Complete audiovisual record

Immutable source: [semantic.json](https://academa.ai/media/l/01M6K3T0QG1KE1TQKTK49RJ1JN/0/semantic.json)

Record version: 1. Render attempt: 0.

### How to read this timeline

Each scene owns its object identifiers. A beat's board is the complete board when listed, empty when marked empty, and unchanged from the nearest earlier listed board in the same scene when marked unchanged. Action times are absolute positions in the published video.

### Scene 1: [Neden Test Ederiz? Doğruluk ve RMSE](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=0)

Span: 00:00–02:1.001 (0s–121.0010625s).

#### Objects

- axes: an Axes (x\_range=(0.0, 10.0), y\_range=(-2.0, 2.0), x\_ticks\_every=2.0)
- band\_hi: a Line \[green\] drawn in axes (start=(0.0, 0.73), end=(10.0, 0.73), dashed=True)
- band\_lo: a Line \[green\] drawn in axes (start=(0.0, -0.73), end=(10.0, -0.73), dashed=True)
- card: a Title that says "Durum Kestirimi ve Kalman Filtresi — Kalman Filtresi Performans ve Tutarlılık Testleri"
- dims: a Table \[text\] that says "Boyut Yöntem Kestirim doğruluğu RMSE Kovaryans tutarlılığı NEES, ANEES Ölçüm tutarlılığı NIS İnovasyon beyazlığı Otokorelasyon, KS testi İstatistiksel dayanıklılık Monte Carlo Zamanlama güvenilirliği OOSM, replay, gerçek zaman" (rows=(('Boyut', 'Yöntem'), ('Kestirim doğruluğu', 'RMSE'), ('Kovarya…, header=True)
- err\_curve: a FunctionPlot \[blue\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0))
- err\_def: a Math \[text\] that says "$tilde(bold(x))\_k = bold(x)\_k - hat(bold(x))\_(k\|k)$"
- head\_map: a Heading that says "Filtreyi Neye Göre Değerlendiririz?"
- head\_rmse: a Heading that says "Kestirim Doğruluğu: RMSE"
- rmse\_f: a Math \[text\] that says "$upright("RMSE")\_k = sqrt(frac(1, N) sum\_(i=1)^N norm(tilde(bold(x))\_k^i)^2)$"
- rmse\_val: a Math \[text\] that says "$upright("RMSE") approx 0.73 thin upright("m")$"
- sq\_curve: a FunctionPlot \[yellow\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0))

#### Beats

##### [00:00](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=0)

Narration: Bir Kalman filtresi yazdınız, kod çalışıyor ve kestirimler makul görünüyor. Peki filtrenin gerçekten doğru çalıştığını nasıl bilirsiniz? Bu derste bunun için kullandığımız testleri tek tek kuracağız.

Board: Empty.

Actions:
- [00:00](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=0): card is shown on the screen, written out.
- [00:1.481](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=1.4813802622498273): card: enter:write-left-to-right.
- [00:12.24](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=12.24): card is hidden from the screen — left the board.

##### [00:13.44](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=13.44)

Narration: Filtreyi altı ayrı soruyla sorgulayacağız. Birincisi doğruluk: hata ne kadar büyük? Bunu RMSE ile ölçeriz.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [00:13.44](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=13.44): head\_map is shown on the screen, written out.
- [00:14.24](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=14.24): dims is shown on the screen, written out.
- [00:17.2](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=17.2): dims is shown on the screen, written out.

##### [00:21.865](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=21.865000000000002)

Narration: İkincisi kovaryans tutarlılığı: filtre kendi belirsizliğini doğru biliyor mu? NEES ve ANEES bunu ölçer. Üçüncüsü ölçüm tutarlılığı, yani NIS.

Board: head\_map — a Heading that says "Filtreyi Neye Göre Değerlendiririz?"

Actions:
- [00:22.76](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=22.76): dims is shown on the screen, written out.
- [00:29.68](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=29.68): dims is shown on the screen, written out.

##### [00:33.428](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=33.4275)

Narration: Dördüncüsü inovasyonların beyaz ve Gauss dağılımlı olup olmadığı. Beşincisi Monte Carlo ile istatistiksel dayanıklılık. Altıncısı da zamanlama: geç gelen ölçümler, kayıttan tekrar oynatma ve gerçek zaman.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [00:33.6](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=33.6): dims is shown on the screen, written out.
- [00:37.88](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=37.879999999999995): dims is shown on the screen, written out.
- [00:41.4](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=41.39999999999999): dims is shown on the screen, written out.

##### [00:47.375](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=47.375)

Narration: Bu altı sorunun ortak bir fikri var. Filtre her adımda bize iki şey verir: bir kestirim ve bu kestirime ne kadar güvendiğini söyleyen bir kovaryans. Testler, bu ikisinin gerçekle uyuşup uyuşmadığına bakar.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [00:52.68](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=52.68): dims (the "column=2" part) is emphasized.
- [00:56.84](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=56.839999999999996): dims (the "column=2" part) is no longer emphasized.
- [01:0.273](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=60.2725): dims is hidden from the screen — left the board.
- [01:0.273](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=60.2725): head\_map is hidden from the screen — left the board.

##### [01:1.472](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=61.4725)

Narration: Önce doğruluk. Gerçek durumu bildiğimiz bir benzetimde her an kestirim hatasını hesaplayabiliriz: gerçek durumdan kestirimi çıkarırız.

Board: Empty.

Actions:
- [01:1.472](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=61.4725): head\_rmse is shown on the screen, written out.
- [01:1.472](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=61.4725): axes is shown on the screen, written out.
- [01:5.96](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=65.96): axes moves to a new place on the board.
- [01:5.96](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=65.96): err\_def is shown on the screen, written out.

##### [01:10.305](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=70.30499999999999)

Narration: Bu mavi eğri, tek bir koşudaki hatanın zamanla değişimi. Bazen pozitif, bazen negatif, ortalaması sıfıra yakın. Bu yüzden hatayı doğrudan ortalamak bize büyüklüğü söylemez.

Board: err\_def — a Math \[text\] that says "$tilde(bold(x))\_k = bold(x)\_k - hat(bold(x))\_(k\|k)$"; axes — an Axes (x\_range=(0.0, 10.0), y\_range=(-2.0, 2.0), x\_ticks\_every=2.0); head\_rmse — a Heading that says "Kestirim Doğruluğu: RMSE"

Actions:
- [01:10.64](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=70.64): err\_curve is shown on the screen, written out.

##### [01:22.035](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=82.035)

Narration: Çözüm, önce karesini almak. Sarı eğri hatanın karesi, artık her şey pozitif. Sonra bu kareleri ortalarız ve karekök alarak birimi geri getiririz.

Board: err\_def — a Math \[text\] that says "$tilde(bold(x))\_k = bold(x)\_k - hat(bold(x))\_(k\|k)$"; axes — an Axes (x\_range=(0.0, 10.0), y\_range=(-2.0, 2.0), x\_ticks\_every=2.0); head\_rmse — a Heading that says "Kestirim Doğruluğu: RMSE"; err\_curve — a FunctionPlot \[blue\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0))

Actions:
- [01:24.4](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=84.4): sq\_curve is shown on the screen, written out.
- [01:28.8](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=88.80000000000001): rmse\_f is shown on the screen, written out.

##### [01:32.417](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=92.41749999999999)

Narration: Formüldeki N, Monte Carlo koşu sayısı. Her koşunun hata karesi toplanır, koşu sayısına bölünür ve karekökü alınır.

Board: err\_def — a Math \[text\] that says "$tilde(bold(x))\_k = bold(x)\_k - hat(bold(x))\_(k\|k)$"; rmse\_f — a Math \[text\] that says "$upright("RMSE")\_k = sqrt(frac(1, N) sum\_(i=1)^N norm(tilde(bold(x))\_k^i)^2)$"; axes — an Axes (x\_range=(0.0, 10.0), y\_range=(-2.0, 2.0), x\_ticks\_every=2.0); head\_rmse — a Heading that says "Kestirim Doğruluğu: RMSE"; err\_curve — a FunctionPlot \[blue\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0)); sq\_curve — a FunctionPlot \[yellow\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0))

Actions:
- [01:34.4](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=94.4): rmse\_f (the "frac(1, N)" part) is emphasized.
- [01:36.76](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=96.76): rmse\_f (the "frac(1, N)" part) is no longer emphasized.
- [01:36.76](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=96.76): rmse\_f (the "norm(tilde(bold(x))\_k^i)^2" part) is emphasized.
- [01:39.84](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=99.83999999999999): rmse\_f (the "norm(tilde(bold(x))\_k^i)^2" part) is no longer emphasized.

##### [01:40.44](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=100.44)

Narration: Bu örnekte sonuç yaklaşık sıfır virgül yetmiş üç metre. Yeşil çizgiler bu seviyeyi gösteriyor: hata tipik olarak bu bandın içinde dolaşır.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [01:41.4](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=101.40000000000002): rmse\_val is shown on the screen, written out.
- [01:44.2](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=104.20000000000003): band\_hi is shown on the screen, written out.
- [01:44.2](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=104.20000000000003): band\_lo is shown on the screen, written out.

##### [01:49.515](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=109.515)

Narration: Ama dikkat. RMSE yalnızca hatanın ne kadar büyük olduğunu söyler. Filtrenin bu hatayı önceden bilip bilmediğini söylemez. Bunun için kovaryansa bakmamız gerekiyor.

Board: err\_def — a Math \[text\] that says "$tilde(bold(x))\_k = bold(x)\_k - hat(bold(x))\_(k\|k)$"; rmse\_f — a Math \[text\] that says "$upright("RMSE")\_k = sqrt(frac(1, N) sum\_(i=1)^N norm(tilde(bold(x))\_k^i)^2)$"; rmse\_val — a Math \[text\] that says "$upright("RMSE") approx 0.73 thin upright("m")$"; axes — an Axes (x\_range=(0.0, 10.0), y\_range=(-2.0, 2.0), x\_ticks\_every=2.0); head\_rmse — a Heading that says "Kestirim Doğruluğu: RMSE"; err\_curve — a FunctionPlot \[blue\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0)); sq\_curve — a FunctionPlot \[yellow\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0)); band\_hi — a Line \[green\] drawn in axes (start=(0.0, 0.73), end=(10.0, 0.73), dashed=True); band\_lo — a Line \[green\] drawn in axes (start=(0.0, -0.73), end=(10.0, -0.73), dashed=True)

Actions:
- [01:51.28](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=111.28000000000003): A box is drawn around rmse\_val.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): axes is hidden from the screen — left the board.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): err\_curve is hidden from the screen — axes left the board.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): sq\_curve is hidden from the screen — axes left the board.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): band\_hi is hidden from the screen — axes left the board.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): band\_lo is hidden from the screen — axes left the board.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): err\_def is hidden from the screen — left the board.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): head\_rmse is hidden from the screen — left the board.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): rmse\_f is hidden from the screen — left the board.
- [01:59.959](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=119.95939583333332): rmse\_val is hidden from the screen — left the board.

### Scene 2: [Kovaryans Tutarlılığı: NEES ve ANEES](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=121.0010625)

Span: 02:1.001–05:0.303 (121.0010625s–300.30333333333334s).

#### Objects

- anees\_f: a Math \[text\] that says "$overline(epsilon)\_k = frac(1, N) sum\_(i=1)^N epsilon\_k^i$"
- axes: an Axes (x\_range=(0.0, 10.0), y\_range=(-3.0, 3.0), x\_ticks\_every=2.0)
- bounds\_f: a Math \[text\] that says "$\[r\_1, r\_2\] = \[1.48, 2.59\]$"
- chi\_f: a Math \[text\] that says "$epsilon\_k tilde.op chi^2\_(n\_x)$"
- curve: a FunctionPlot \[blue\] drawn in plot (function=\<function\>, x\_range=(0.0, 100.0))
- dist\_f: a Math \[text\] that says "$N overline(epsilon)\_k tilde.op chi^2\_(N n\_x)$"
- err\_curve: a FunctionPlot \[blue\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0))
- head\_anees: a Heading that says "Monte Carlo Ortalaması: ANEES"
- head\_nees: a Heading that says "Kovaryans Tutarlılığı: NEES"
- hi: a Line \[yellow\] drawn in axes (start=(0.0, (2.0 \* sig)), end=(10.0, (2.0 \* sig)), dashed=True)
- lo: a Line \[yellow\] drawn in axes (start=(0.0, (-2.0 \* sig)), end=(10.0, (-2.0 \* sig)), dashed=True)
- mean\_f: a Math \[text\] that says "$E\[epsilon\_k\] = n\_x$"
- nees\_f: a Math \[text\] that says "$epsilon\_k = tilde(bold(x))\_k^T bold(P)\_(k\|k)^(-1) tilde(bold(x))\_k$"
- plot: an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 5.0), x\_ticks\_every=20.0)
- point: a Point \[yellow\] drawn in plot (location=(50.0, 2.039052175923275))
- r\_hi: a Line \[green\] drawn in plot (start=(0.0, 2.59), end=(100.0, 2.59), dashed=True)
- r\_lo: a Line \[green\] drawn in plot (start=(0.0, 1.48), end=(100.0, 1.48), dashed=True)
- shift: a VariableNumber
- sig: a VariableNumber (initial\_value=0.73)

#### Beats

##### [02:1.001](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=121.0010625)

Narration: Kalman filtresi yalnızca bir kestirim üretmez, bu kestirimin ne kadar belirsiz olduğunu da söyler: kovaryans matrisi P. Sarı kesikli çizgiler, filtrenin kendi iddiası olan artı eksi iki sigma bandı.

Board: Empty.

Actions:
- [02:1.001](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=121.0010625): head\_nees is shown on the screen, written out.
- [02:1.001](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=121.0010625): axes is shown on the screen, written out.
- [02:1.001](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=121.0010625): err\_curve is shown on the screen, written out.
- [02:8.721](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=128.72106250000002): hi is shown on the screen, written out.
- [02:8.721](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=128.72106250000002): lo is shown on the screen, written out.

##### [02:14.319](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=134.3185625)

Narration: Tutarlı bir filtrede gerçek hata bu bandın içinde kalır, yalnızca arada bir dışarı taşar. Burada durum tam olarak böyle.

Board: axes — an Axes (x\_range=(0.0, 10.0), y\_range=(-3.0, 3.0), x\_ticks\_every=2.0); head\_nees — a Heading that says "Kovaryans Tutarlılığı: NEES"; err\_curve — a FunctionPlot \[blue\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0)); hi — a Line \[yellow\] drawn in axes (start=(0.0, (2.0 \* sig)), end=(10.0, (2.0 \* sig)), dashed=True); lo — a Line \[yellow\] drawn in axes (start=(0.0, (-2.0 \* sig)), end=(10.0, (-2.0 \* sig)), dashed=True)

Actions:
- None.

##### [02:22.206](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=142.2055625)

Narration: Şimdi filtrenin kendine fazla güvendiğini düşünün. Kovaryans gerçekte olduğundan küçük. Bant daralıyor ve hata sürekli dışarı taşıyor. Buna aşırı güvenli filtre diyoruz.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [02:28.121](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=148.1210625): hi is redrawn as the numbers it depends on change.
- [02:28.121](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=148.1210625): lo is redrawn as the numbers it depends on change.
- [02:28.121](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=148.1210625): sig ticks to 0.3.

##### [02:33.561](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=153.5610625)

Narration: Tersi de olabilir. Kovaryans gereğinden büyükse bant genişler ve hata kenarlara hiç yaklaşmaz. Bu da fazla temkinli bir filtre.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [02:37.121](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=157.1210625): hi is redrawn as the numbers it depends on change.
- [02:37.121](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=157.1210625): lo is redrawn as the numbers it depends on change.
- [02:37.121](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=157.1210625): sig ticks to 1.3.

##### [02:42.509](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=162.5085625)

Narration: İkisi de kötü. Aşırı güvenli filtre yeni ölçümleri dinlemeyi bırakır ve sapar. Fazla temkinli filtre gürültüye gereğinden çok tepki verir. Doğru bant ikisinin arasında.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [02:51.401](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=171.40106250000002): hi is redrawn as the numbers it depends on change.
- [02:51.401](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=171.40106250000002): lo is redrawn as the numbers it depends on change.
- [02:51.401](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=171.40106250000002): sig ticks to 0.73.

##### [02:53.819](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=173.8185625)

Narration: Bunu tek bir sayıya dökelim. Hatayı kovaryansın tersiyle ağırlıklandırırız. Sonuç NEES: normalleştirilmiş kestirim hatası karesi.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [02:54.908](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=174.9080625): axes moves to a new place on the board.
- [02:54.908](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=174.9080625): nees\_f is shown on the screen, written out.

##### [03:3.226](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=183.2260625)

Narration: Kilit nokta, ortadaki P üzeri eksi bir terimi. Hata büyük ama filtre küçük kovaryans iddia ediyorsa NEES büyür. Yani NEES, gerçek hatayı filtrenin iddiasıyla kıyaslar.

Board: nees\_f — a Math \[text\] that says "$epsilon\_k = tilde(bold(x))\_k^T bold(P)\_(k\|k)^(-1) tilde(bold(x))\_k$"; axes — an Axes (x\_range=(0.0, 10.0), y\_range=(-3.0, 3.0), x\_ticks\_every=2.0); head\_nees — a Heading that says "Kovaryans Tutarlılığı: NEES"; err\_curve — a FunctionPlot \[blue\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0)); hi — a Line \[yellow\] drawn in axes (start=(0.0, (2.0 \* sig)), end=(10.0, (2.0 \* sig)), dashed=True); lo — a Line \[yellow\] drawn in axes (start=(0.0, (-2.0 \* sig)), end=(10.0, (-2.0 \* sig)), dashed=True)

Actions:
- [03:3.401](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=183.40106250000002): nees\_f (the "bold(P)\_(k\|k)^(-1)" part) is emphasized.
- [03:11.601](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=191.6010625): nees\_f (the "bold(P)\_(k\|k)^(-1)" part) is no longer emphasized.

##### [03:16.039](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=196.0385625)

Narration: Filtre tutarlıysa hata sıfır ortalamalı Gauss dağılımlıdır ve kovaryansı gerçekten P olur. O zaman NEES, serbestlik derecesi durum boyutu olan bir ki kare dağılımına uyar.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [03:23.361](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=203.3610625): chi\_f is shown on the screen, written out.

##### [03:27.631](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=207.63106249999998)

Narration: Ki kare dağılımının ortalaması serbestlik derecesine eşittir. Dolayısıyla tutarlı bir filtrede NEES ortalaması durum boyutuna eşit olmalı. İki boyutlu bir durum için bu sayı iki.

Board: nees\_f — a Math \[text\] that says "$epsilon\_k = tilde(bold(x))\_k^T bold(P)\_(k\|k)^(-1) tilde(bold(x))\_k$"; chi\_f — a Math \[text\] that says "$epsilon\_k tilde.op chi^2\_(n\_x)$"; axes — an Axes (x\_range=(0.0, 10.0), y\_range=(-3.0, 3.0), x\_ticks\_every=2.0); head\_nees — a Heading that says "Kovaryans Tutarlılığı: NEES"; err\_curve — a FunctionPlot \[blue\] drawn in axes (function=\<function\>, x\_range=(0.0, 10.0)); hi — a Line \[yellow\] drawn in axes (start=(0.0, (2.0 \* sig)), end=(10.0, (2.0 \* sig)), dashed=True); lo — a Line \[yellow\] drawn in axes (start=(0.0, (-2.0 \* sig)), end=(10.0, (-2.0 \* sig)), dashed=True)

Actions:
- [03:31.454](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=211.45406250000002): mean\_f is shown on the screen, written out.
- [03:37.961](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=217.96106250000003): mean\_f (the "n\_x" part) is indicated — a transient flash.
- [03:38.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=218.4985625): axes is hidden from the screen — left the board.
- [03:38.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=218.4985625): err\_curve is hidden from the screen — axes left the board.
- [03:38.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=218.4985625): hi is hidden from the screen — axes left the board.
- [03:38.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=218.4985625): lo is hidden from the screen — axes left the board.
- [03:38.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=218.4985625): chi\_f is hidden from the screen — left the board.
- [03:38.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=218.4985625): head\_nees is hidden from the screen — left the board.
- [03:38.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=218.4985625): mean\_f is hidden from the screen — left the board.
- [03:38.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=218.4985625): nees\_f is hidden from the screen — left the board.

##### [03:39.699](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=219.69856249999998)

Narration: Tek bir koşudaki NEES çok gürültülüdür, tek başına karar vermeye yetmez. Bu yüzden aynı senaryoyu N kez, farklı rastgele gürültülerle koşarız.

Board: Empty.

Actions:
- [03:39.699](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=219.69856249999998): head\_anees is shown on the screen, written out.
- [03:45.241](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=225.2410625): plot is shown on the screen, written out.

##### [03:49.526](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=229.5260625)

Narration: Her zaman adımında N tane NEES değerinin ortalamasını alırız. Buna ortalama NEES, kısaca ANEES denir. Mavi eğri, elli koşuluk bir deneyin ANEES değeri.

Board: plot — an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 5.0), x\_ticks\_every=20.0); head\_anees — a Heading that says "Monte Carlo Ortalaması: ANEES"

Actions:
- [03:52.241](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=232.24106250000003): plot moves to a new place on the board.
- [03:52.241](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=232.24106250000003): anees\_f is shown on the screen, written out.
- [03:56.801](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=236.80106250000003): curve is shown on the screen, written out.

##### [04:0.499](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=240.4985625)

Narration: Peki ne kadar sapma kabul edilebilir? N çarpı ANEES, serbestlik derecesi N çarpı durum boyutu olan bir ki kare dağılımına uyar.

Board: anees\_f — a Math \[text\] that says "$overline(epsilon)\_k = frac(1, N) sum\_(i=1)^N epsilon\_k^i$"; plot — an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 5.0), x\_ticks\_every=20.0); head\_anees — a Heading that says "Monte Carlo Ortalaması: ANEES"; curve — a FunctionPlot \[blue\] drawn in plot (function=\<function\>, x\_range=(0.0, 100.0))

Actions:
- [04:3.401](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=243.40106250000002): dist\_f is shown on the screen, written out.

##### [04:9.461](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=249.46106249999997)

Narration: Bu dağılımın yüzde doksan beşlik aralığını N ile böleriz. Elli koşu ve iki boyutlu durum için sınırlar bir virgül kırk sekiz ve iki virgül elli dokuz. İşte yeşil kesikli çizgiler.

Board: anees\_f — a Math \[text\] that says "$overline(epsilon)\_k = frac(1, N) sum\_(i=1)^N epsilon\_k^i$"; dist\_f — a Math \[text\] that says "$N overline(epsilon)\_k tilde.op chi^2\_(N n\_x)$"; plot — an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 5.0), x\_ticks\_every=20.0); head\_anees — a Heading that says "Monte Carlo Ortalaması: ANEES"; curve — a FunctionPlot \[blue\] drawn in plot (function=\<function\>, x\_range=(0.0, 100.0))

Actions:
- [04:15.281](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=255.28106250000002): bounds\_f is shown on the screen, written out.
- [04:19.201](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=259.20106250000003): r\_lo is shown on the screen, written out.
- [04:19.201](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=259.20106250000003): r\_hi is shown on the screen, written out.

##### [04:21.199](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=261.1985625)

Narration: Tutarlı bir filtrenin ANEES eğrisi zamanın büyük bölümünde bu bandın içinde kalır. Bizim eğrimiz de tam iki civarında dolaşıyor.

Board: anees\_f — a Math \[text\] that says "$overline(epsilon)\_k = frac(1, N) sum\_(i=1)^N epsilon\_k^i$"; dist\_f — a Math \[text\] that says "$N overline(epsilon)\_k tilde.op chi^2\_(N n\_x)$"; bounds\_f — a Math \[text\] that says "$\[r\_1, r\_2\] = \[1.48, 2.59\]$"; plot — an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 5.0), x\_ticks\_every=20.0); head\_anees — a Heading that says "Monte Carlo Ortalaması: ANEES"; curve — a FunctionPlot \[blue\] drawn in plot (function=\<function\>, x\_range=(0.0, 100.0)); r\_lo — a Line \[green\] drawn in plot (start=(0.0, 1.48), end=(100.0, 1.48), dashed=True); r\_hi — a Line \[green\] drawn in plot (start=(0.0, 2.59), end=(100.0, 2.59), dashed=True)

Actions:
- [04:27.801](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=267.8010625): point is shown on the screen, grown.

##### [04:29.639](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=269.6385625)

Narration: Eğri üst sınırın üstüne çıkarsa filtre aşırı güvenlidir, yani kovaryansı küçüktür. İlk şüpheliler çok küçük seçilmiş bir süreç gürültüsü Q ya da modelde eksik bir dinamiktir.

Board: anees\_f — a Math \[text\] that says "$overline(epsilon)\_k = frac(1, N) sum\_(i=1)^N epsilon\_k^i$"; dist\_f — a Math \[text\] that says "$N overline(epsilon)\_k tilde.op chi^2\_(N n\_x)$"; bounds\_f — a Math \[text\] that says "$\[r\_1, r\_2\] = \[1.48, 2.59\]$"; plot — an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 5.0), x\_ticks\_every=20.0); head\_anees — a Heading that says "Monte Carlo Ortalaması: ANEES"; curve — a FunctionPlot \[blue\] drawn in plot (function=\<function\>, x\_range=(0.0, 100.0)); r\_lo — a Line \[green\] drawn in plot (start=(0.0, 1.48), end=(100.0, 1.48), dashed=True); r\_hi — a Line \[green\] drawn in plot (start=(0.0, 2.59), end=(100.0, 2.59), dashed=True); point — a Point \[yellow\] drawn in plot (location=(50.0, 2.039052175923275))

Actions:
- [04:29.956](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=269.95605289224414): point is hidden from the screen.
- [04:31.201](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=271.20106250000003): curve is redrawn as the numbers it depends on change.
- [04:31.201](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=271.20106250000003): shift ticks to 1.3.

##### [04:41.376](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=281.3760625)

Narration: Eğri alt sınırın altına inerse filtre fazla temkinlidir. Q ya da başlangıç kovaryansı gereğinden büyük seçilmiş olabilir.

Board: anees\_f — a Math \[text\] that says "$overline(epsilon)\_k = frac(1, N) sum\_(i=1)^N epsilon\_k^i$"; dist\_f — a Math \[text\] that says "$N overline(epsilon)\_k tilde.op chi^2\_(N n\_x)$"; bounds\_f — a Math \[text\] that says "$\[r\_1, r\_2\] = \[1.48, 2.59\]$"; plot — an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 5.0), x\_ticks\_every=20.0); head\_anees — a Heading that says "Monte Carlo Ortalaması: ANEES"; curve — a FunctionPlot \[blue\] drawn in plot (function=\<function\>, x\_range=(0.0, 100.0)); r\_lo — a Line \[green\] drawn in plot (start=(0.0, 1.48), end=(100.0, 1.48), dashed=True); r\_hi — a Line \[green\] drawn in plot (start=(0.0, 2.59), end=(100.0, 2.59), dashed=True)

Actions:
- [04:43.081](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=283.08106250000003): curve is redrawn as the numbers it depends on change.
- [04:43.081](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=283.08106250000003): shift ticks to -0.9.

##### [04:49.821](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=289.8210625)

Narration: Ayarlar düzeltildiğinde eğri banda geri döner. Dikkat: bu test gerçek durumu bilmeyi gerektirir, yani yalnızca benzetimde yapılabilir.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [04:50.441](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=290.44106250000004): curve is redrawn as the numbers it depends on change.
- [04:50.441](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=290.44106250000004): shift ticks to 0.0.
- [04:59.262](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=299.26166666666666): anees\_f is hidden from the screen — left the board.
- [04:59.262](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=299.26166666666666): bounds\_f is hidden from the screen — left the board.
- [04:59.262](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=299.26166666666666): dist\_f is hidden from the screen — left the board.
- [04:59.262](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=299.26166666666666): head\_anees is hidden from the screen — left the board.
- [04:59.262](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=299.26166666666666): plot is hidden from the screen — left the board.
- [04:59.262](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=299.26166666666666): curve is hidden from the screen — plot left the board.
- [04:59.262](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=299.26166666666666): r\_lo is hidden from the screen — plot left the board.
- [04:59.262](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=299.26166666666666): r\_hi is hidden from the screen — plot left the board.

### Scene 3: [Ölçüm Tutarlılığı: NIS](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=300.30333333333334)

Span: 05:0.303–06:53.521 (300.30333333333334s–413.52070833333335s).

#### Objects

- accept: an AreaUnder \[green\] drawn in dens (x\_range=(0.05, 7.38), target='pdf')
- avg\_f: a Math \[text\] that says "$K overline(epsilon)\_nu tilde.op chi^2\_(K n\_z)$"
- chi\_nis: a Math \[text\] that says "$epsilon\_(nu,k) tilde.op chi^2\_(n\_z)$"
- dens: an Axes (x\_range=(0.0, 12.0), y\_range=(0.0, 0.6), x\_ticks\_every=2.0)
- heading: a Heading that says "Ölçüm Tutarlılığı: NIS"
- innov\_f: a Math \[text\] that says "$bold(nu)\_k = bold(z)\_k - bold(H) hat(bold(x))\_(k\|k-1)$"
- nis\_f: a Math \[text\] that says "$epsilon\_(nu,k) = bold(nu)\_k^T bold(S)\_k^(-1) bold(nu)\_k$"
- nis\_val: a VariableNumber (initial\_value=1.8, format\_spec='.2f')
- pdf: a FunctionPlot \[blue\] drawn in dens (function=\<function\>, x\_range=(0.0, 12.0))
- probe: a PlotPoint \[yellow\] labelled "1.80" drawn in dens (target='pdf', x=\<VariableNumber nis\_val = 0.03\>)
- s\_f: a Math \[text\] that says "$bold(S)\_k = bold(H) bold(P)\_(k\|k-1) bold(H)^T + bold(R)$"

#### Beats

##### [05:0.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=300.30333333333334)

Narration: NEES testinin bir zayıflığı var: gerçek durumu bilmemiz gerekiyor. Sahadaki gerçek bir araçta bu bilgi yoktur, elimizde yalnızca ölçümler vardır.

Board: Empty.

Actions:
- [05:0.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=300.30333333333334): heading is shown on the screen, written out.

##### [05:9.971](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=309.97083333333336)

Narration: Filtre her adımda gelecek ölçümü tahmin eder. Gelen ölçüm ile bu tahmin arasındaki farka inovasyon denir.

Board: heading — a Heading that says "Ölçüm Tutarlılığı: NIS"

Actions:
- [05:15.063](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=315.06333333333333): innov\_f is shown on the screen, written out.

##### [05:17.306](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=317.30583333333334)

Narration: Filtre bu farkın büyüklüğünü de öngörür: inovasyon kovaryansı S. Durum belirsizliğinin ölçüm uzayına taşınmış hali, artı ölçüm gürültüsü R.

Board: innov\_f — a Math \[text\] that says "$bold(nu)\_k = bold(z)\_k - bold(H) hat(bold(x))\_(k\|k-1)$"; heading — a Heading that says "Ölçüm Tutarlılığı: NIS"

Actions:
- [05:20.543](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=320.54333333333335): s\_f is shown on the screen, written out.
- [05:24.023](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=324.0233333333333): s\_f (the "bold(H) bold(P)\_(k\|k-1) bold(H)^T" part) is emphasized.
- [05:26.023](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=326.0233333333333): s\_f (the "bold(H) bold(P)\_(k\|k-1) bold(H)^T" part) is no longer emphasized.
- [05:26.023](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=326.0233333333333): s\_f (the "bold(R)" part) is emphasized.
- [05:27.156](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=327.15583333333336): s\_f (the "bold(R)" part) is no longer emphasized.

##### [05:27.756](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=327.7558333333333)

Narration: İnovasyonu S matrisinin tersiyle ağırlıklandırırsak NIS elde ederiz: normalleştirilmiş inovasyon karesi. Yapı NEES ile aynı, ama gerçek değere hiç ihtiyaç yok.

Board: innov\_f — a Math \[text\] that says "$bold(nu)\_k = bold(z)\_k - bold(H) hat(bold(x))\_(k\|k-1)$"; s\_f — a Math \[text\] that says "$bold(S)\_k = bold(H) bold(P)\_(k\|k-1) bold(H)^T + bold(R)$"; heading — a Heading that says "Ölçüm Tutarlılığı: NIS"

Actions:
- [05:31.223](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=331.22333333333336): nis\_f is shown on the screen, written out.

##### [05:39.121](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=339.12083333333334)

Narration: Tutarlı bir filtrede NIS, serbestlik derecesi ölçüm boyutu olan bir ki kare dağılımına uyar. Sağdaki mavi eğri, iki boyutlu bir ölçüm için bu dağılımdır.

Board: innov\_f — a Math \[text\] that says "$bold(nu)\_k = bold(z)\_k - bold(H) hat(bold(x))\_(k\|k-1)$"; s\_f — a Math \[text\] that says "$bold(S)\_k = bold(H) bold(P)\_(k\|k-1) bold(H)^T + bold(R)$"; nis\_f — a Math \[text\] that says "$epsilon\_(nu,k) = bold(nu)\_k^T bold(S)\_k^(-1) bold(nu)\_k$"; heading — a Heading that says "Ölçüm Tutarlılığı: NIS"

Actions:
- [05:41.223](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=341.22333333333336): chi\_nis is shown on the screen, written out.
- [05:44.943](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=344.9433333333333): dens is shown on the screen, written out.
- [05:44.943](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=344.9433333333333): pdf is shown on the screen, written out.

##### [05:49.163](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=349.16333333333336)

Narration: Hipotez testini kuralım. Sıfır hipotezi, filtrenin tutarlı olduğudur. Yeşil alan, yüzde doksan beş güvenlik kabul bölgesidir.

Board: innov\_f — a Math \[text\] that says "$bold(nu)\_k = bold(z)\_k - bold(H) hat(bold(x))\_(k\|k-1)$"; s\_f — a Math \[text\] that says "$bold(S)\_k = bold(H) bold(P)\_(k\|k-1) bold(H)^T + bold(R)$"; nis\_f — a Math \[text\] that says "$epsilon\_(nu,k) = bold(nu)\_k^T bold(S)\_k^(-1) bold(nu)\_k$"; chi\_nis — a Math \[text\] that says "$epsilon\_(nu,k) tilde.op chi^2\_(n\_z)$"; dens — an Axes (x\_range=(0.0, 12.0), y\_range=(0.0, 0.6), x\_ticks\_every=2.0); heading — a Heading that says "Ölçüm Tutarlılığı: NIS"; pdf — a FunctionPlot \[blue\] drawn in dens (function=\<function\>, x\_range=(0.0, 12.0))

Actions:
- [05:53.863](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=353.86333333333334): accept is shown on the screen, written out.

##### [05:57.536](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=357.53583333333336)

Narration: Sınırlar sıfır virgül sıfır beş ve yedi virgül otuz sekiz. Bir adımda NIS bir virgül sekiz çıktı diyelim. Kabul bölgesinin içinde, reddetmek için bir neden yok.

Board: innov\_f — a Math \[text\] that says "$bold(nu)\_k = bold(z)\_k - bold(H) hat(bold(x))\_(k\|k-1)$"; s\_f — a Math \[text\] that says "$bold(S)\_k = bold(H) bold(P)\_(k\|k-1) bold(H)^T + bold(R)$"; nis\_f — a Math \[text\] that says "$epsilon\_(nu,k) = bold(nu)\_k^T bold(S)\_k^(-1) bold(nu)\_k$"; chi\_nis — a Math \[text\] that says "$epsilon\_(nu,k) tilde.op chi^2\_(n\_z)$"; dens — an Axes (x\_range=(0.0, 12.0), y\_range=(0.0, 0.6), x\_ticks\_every=2.0); heading — a Heading that says "Ölçüm Tutarlılığı: NIS"; pdf — a FunctionPlot \[blue\] drawn in dens (function=\<function\>, x\_range=(0.0, 12.0)); accept — an AreaUnder \[green\] drawn in dens (x\_range=(0.05, 7.38), target='pdf')

Actions:
- [06:3.903](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=363.9033333333333): probe is shown on the screen, written out.

##### [06:8.286](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=368.28583333333336)

Narration: Peki on virgül beş çıkarsa? Bu, kuyrukta kalan ve çok olası olmayan bir değer. Bir kez olursa tesadüftür, sık sık oluyorsa filtre aşırı güvenlidir.

Board: innov\_f — a Math \[text\] that says "$bold(nu)\_k = bold(z)\_k - bold(H) hat(bold(x))\_(k\|k-1)$"; s\_f — a Math \[text\] that says "$bold(S)\_k = bold(H) bold(P)\_(k\|k-1) bold(H)^T + bold(R)$"; nis\_f — a Math \[text\] that says "$epsilon\_(nu,k) = bold(nu)\_k^T bold(S)\_k^(-1) bold(nu)\_k$"; chi\_nis — a Math \[text\] that says "$epsilon\_(nu,k) tilde.op chi^2\_(n\_z)$"; dens — an Axes (x\_range=(0.0, 12.0), y\_range=(0.0, 0.6), x\_ticks\_every=2.0); heading — a Heading that says "Ölçüm Tutarlılığı: NIS"; pdf — a FunctionPlot \[blue\] drawn in dens (function=\<function\>, x\_range=(0.0, 12.0)); accept — an AreaUnder \[green\] drawn in dens (x\_range=(0.05, 7.38), target='pdf'); probe — a PlotPoint \[yellow\] labelled "1.80" drawn in dens (target='pdf', x=\<VariableNumber nis\_val = 0.03\>)

Actions:
- [06:9.623](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=369.62333333333333): probe is redrawn as the numbers it depends on change.
- [06:9.623](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=369.62333333333333): nis\_val ticks to 10.5.

##### [06:18.916](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=378.91583333333335)

Narration: Tipik nedenler, çok küçük seçilmiş bir ölçüm gürültüsü R, yanlış bir ölçüm modeli H ya da aykırı ölçümlerdir.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [06:19.103](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=379.10333333333335): s\_f (the "bold(R)" part) is indicated — a transient flash.
- [06:22.863](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=382.86333333333334): innov\_f (the "bold(H)" part) is indicated — a transient flash.

##### [06:26.956](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=386.9558333333333)

Narration: Ters yönde, NIS sürekli sıfıra çok yakınsa filtre ölçümleri olduğundan gürültülü sanıyordur. Bu kez R büyük seçilmiş olabilir.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [06:28.983](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=388.98333333333335): probe is redrawn as the numbers it depends on change.
- [06:28.983](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=388.98333333333335): nis\_val ticks to 0.03.

##### [06:35.893](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=395.8933333333333)

Narration: Tek bir adım yerine K adımlık zaman ortalaması çok daha güçlü bir testtir. K çarpı ortalama NIS, K çarpı ölçüm boyutu serbestlikli bir ki kare dağılımına uyar.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [06:38.223](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=398.22333333333336): avg\_f is shown on the screen, written out.

##### [06:46.551](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=406.55083333333334)

Narration: En güzeli şu: bu test gerçek değer istemediği için sahada, canlı veriyle de çalıştırılabilir.

Board: innov\_f — a Math \[text\] that says "$bold(nu)\_k = bold(z)\_k - bold(H) hat(bold(x))\_(k\|k-1)$"; s\_f — a Math \[text\] that says "$bold(S)\_k = bold(H) bold(P)\_(k\|k-1) bold(H)^T + bold(R)$"; nis\_f — a Math \[text\] that says "$epsilon\_(nu,k) = bold(nu)\_k^T bold(S)\_k^(-1) bold(nu)\_k$"; chi\_nis — a Math \[text\] that says "$epsilon\_(nu,k) tilde.op chi^2\_(n\_z)$"; avg\_f — a Math \[text\] that says "$K overline(epsilon)\_nu tilde.op chi^2\_(K n\_z)$"; dens — an Axes (x\_range=(0.0, 12.0), y\_range=(0.0, 0.6), x\_ticks\_every=2.0); heading — a Heading that says "Ölçüm Tutarlılığı: NIS"; pdf — a FunctionPlot \[blue\] drawn in dens (function=\<function\>, x\_range=(0.0, 12.0)); accept — an AreaUnder \[green\] drawn in dens (x\_range=(0.05, 7.38), target='pdf'); probe — a PlotPoint \[yellow\] labelled "1.80" drawn in dens (target='pdf', x=\<VariableNumber nis\_val = 0.03\>)

Actions:
- [06:46.943](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=406.9433333333334): A box is drawn around avg\_f.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): avg\_f is hidden from the screen — left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): chi\_nis is hidden from the screen — left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): dens is hidden from the screen — left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): pdf is hidden from the screen — dens left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): accept is hidden from the screen — dens left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): probe is hidden from the screen — dens left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): heading is hidden from the screen — left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): innov\_f is hidden from the screen — left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): nis\_f is hidden from the screen — left the board.
- [06:52.479](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=412.47904166666666): s\_f is hidden from the screen — left the board.

### Scene 4: [İnovasyon Beyazlığı ve KS Testi](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=413.52070833333335)

Span: 06:53.521–08:59.093 (413.52070833333335s–539.0931875s).

#### Objects

- amp: a VariableNumber
- b\_hi: a Line \[green\] drawn in lags (start=(0.0, 0.196), end=(11.0, 0.196), dashed=True)
- b\_lo: a Line \[green\] drawn in lags (start=(0.0, -0.196), end=(11.0, -0.196), dashed=True)
- band\_f: a Math \[text\] that says "$abs(hat(rho)\_l) \< frac(1.96, sqrt(K))$"
- cdf: an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 1.1), x\_ticks\_every=1.0)
- crit\_f: a Math \[text\] that says "$D\_n \< frac(1.36, sqrt(n))$"
- emp\_curve: a FunctionPlot \[blue\] drawn in cdf (function=\<function\>, x\_range=(-3.0, 3.0))
- gap\_line: a Line \[red\] labelled "D\_n" drawn in cdf (start=(1.45, 0.9264707403903516), end=(1.45, 0.8333333333333334))
- head\_ks: a Heading that says "Normallik: Kolmogorov–Smirnov Testi"
- head\_white: a Heading that says "İnovasyon Beyazlığı"
- ks\_f: a Math \[text\] that says "$D\_n = max\_x abs(F\_n (x) - Phi(x))$"
- lags: an Axes (x\_range=(0.0, 11.0), y\_range=(-0.4, 0.8), x\_ticks\_every=2.0)
- norm\_f: a Math \[text\] that says "$u\_k = frac(nu\_k, sqrt(S\_k)) tilde.op cal(N) (0, 1)$"
- phi\_curve: a FunctionPlot \[yellow\] drawn in cdf (function=\<function\>, x\_range=(-3.0, 3.0))
- rho\_f: a Math \[text\] that says "$hat(rho)\_l = frac(sum\_k nu\_k nu\_(k+l), sum\_k nu\_k^2)$"
- stems: a Line \[blue\] drawn in lags (start=(1.0, 0.0), end=(1.0, ((amp \* 0.8) + 0.09)))
- stems\_10: a Line \[blue\] drawn in lags (start=(10.0, 0.0), end=(10.0, ((amp \* 0.10737418240000006) + 0.08)))
- stems\_2: a Line \[blue\] drawn in lags (start=(2.0, 0.0), end=(2.0, ((amp \* 0.6400000000000001) + -0.05)))
- stems\_3: a Line \[blue\] drawn in lags (start=(3.0, 0.0), end=(3.0, ((amp \* 0.5120000000000001) + 0.12)))
- stems\_4: a Line \[blue\] drawn in lags (start=(4.0, 0.0), end=(4.0, ((amp \* 0.4096000000000001) + -0.08)))
- stems\_5: a Line \[blue\] drawn in lags (start=(5.0, 0.0), end=(5.0, ((amp \* 0.3276800000000001) + 0.06)))
- stems\_6: a Line \[blue\] drawn in lags (start=(6.0, 0.0), end=(6.0, ((amp \* 0.2621440000000001) + 0.1)))
- stems\_7: a Line \[blue\] drawn in lags (start=(7.0, 0.0), end=(7.0, ((amp \* 0.20971520000000007) + -0.11)))
- stems\_8: a Line \[blue\] drawn in lags (start=(8.0, 0.0), end=(8.0, ((amp \* 0.1677721600000001) + 0.07)))
- stems\_9: a Line \[blue\] drawn in lags (start=(9.0, 0.0), end=(9.0, ((amp \* 0.13421772800000006) + -0.06)))
- white\_f: a Math \[text\] that says "$E\[bold(nu)\_k bold(nu)\_j^T\] = bold(S)\_k delta\_(k j)$"

#### Beats

##### [06:53.521](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=413.52070833333335)

Narration: Tutarlılık testleri büyüklüğe bakar. Optimal bir Kalman filtresinin inovasyonları bir şey daha sağlamalı: zaman içinde birbirinden bağımsız olmalı. Buna beyazlık denir.

Board: Empty.

Actions:
- [06:53.521](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=413.52070833333335): head\_white is shown on the screen, written out.
- [07:1.361](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=421.3607083333333): white\_f is shown on the screen, written out.

##### [07:4.541](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=424.5407083333333)

Narration: Mantık şu: inovasyon, ölçümün tahmin edilemeyen kısmıdır. Bugünkü inovasyon yarınkini tahmin etmeye yarıyorsa, filtre eldeki bilgiyi tam kullanmıyor demektir.

Board: white\_f — a Math \[text\] that says "$E\[bold(nu)\_k bold(nu)\_j^T\] = bold(S)\_k delta\_(k j)$"; head\_white — a Heading that says "İnovasyon Beyazlığı"

Actions:
- [07:10.041](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=430.0407083333333): white\_f (the "delta\_(k j)" part) is indicated — a transient flash.

##### [07:15.606](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=435.6057083333333)

Narration: Bunu otokorelasyonla ölçeriz. İnovasyon dizisini, l adım kaydırılmış haliyle çarpar, toplar ve normalleştiririz.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [07:16.161](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=436.16070833333333): rho\_f is shown on the screen, written out.
- [07:19.894](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=439.89370833333334): lags is shown on the screen, written out.

##### [07:24.151](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=444.15070833333334)

Narration: Beyaz bir dizide sıfırdan farklı her gecikmede bu değer küçüktür. Mavi çubuklar sıfır çevresinde rastgele dağılıyor.

Board: white\_f — a Math \[text\] that says "$E\[bold(nu)\_k bold(nu)\_j^T\] = bold(S)\_k delta\_(k j)$"; rho\_f — a Math \[text\] that says "$hat(rho)\_l = frac(sum\_k nu\_k nu\_(k+l), sum\_k nu\_k^2)$"; lags — an Axes (x\_range=(0.0, 11.0), y\_range=(-0.4, 0.8), x\_ticks\_every=2.0); head\_white — a Heading that says "İnovasyon Beyazlığı"

Actions:
- [07:28.481](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=448.4807083333333): stems is shown on the screen, written out.
- [07:28.577](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=448.5773740164257): stems\_2 is shown on the screen, written out.
- [07:28.674](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=448.67403969951806): stems\_3 is shown on the screen, written out.
- [07:28.772](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=448.7718161658634): stems\_4 is shown on the screen, written out.
- [07:28.879](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=448.8792224804105): stems\_5 is shown on the screen, written out.
- [07:28.987](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=448.98662879495754): stems\_6 is shown on the screen, written out.
- [07:29.094](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=449.0940351095046): stems\_7 is shown on the screen, written out.
- [07:29.201](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=449.20144142405167): stems\_8 is shown on the screen, written out.
- [07:29.309](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=449.30884773859873): stems\_9 is shown on the screen, written out.
- [07:29.403](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=449.4026046646012): stems\_10 is shown on the screen, written out.

##### [07:31.981](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=451.9807083333333)

Narration: Ne kadar küçük? K örnekte yüzde doksan beş sınırı, bir virgül doksan altı bölü kök K. Yüz örnekte yaklaşık sıfır virgül iki. Yeşil kesikli çizgiler bu sınır.

Board: white\_f — a Math \[text\] that says "$E\[bold(nu)\_k bold(nu)\_j^T\] = bold(S)\_k delta\_(k j)$"; rho\_f — a Math \[text\] that says "$hat(rho)\_l = frac(sum\_k nu\_k nu\_(k+l), sum\_k nu\_k^2)$"; lags — an Axes (x\_range=(0.0, 11.0), y\_range=(-0.4, 0.8), x\_ticks\_every=2.0); head\_white — a Heading that says "İnovasyon Beyazlığı"; stems — a Line \[blue\] drawn in lags (start=(1.0, 0.0), end=(1.0, ((amp \* 0.8) + 0.09))); stems\_2 — a Line \[blue\] drawn in lags (start=(2.0, 0.0), end=(2.0, ((amp \* 0.6400000000000001) + -0.05))); stems\_3 — a Line \[blue\] drawn in lags (start=(3.0, 0.0), end=(3.0, ((amp \* 0.5120000000000001) + 0.12))); stems\_4 — a Line \[blue\] drawn in lags (start=(4.0, 0.0), end=(4.0, ((amp \* 0.4096000000000001) + -0.08))); stems\_5 — a Line \[blue\] drawn in lags (start=(5.0, 0.0), end=(5.0, ((amp \* 0.3276800000000001) + 0.06))); stems\_6 — a Line \[blue\] drawn in lags (start=(6.0, 0.0), end=(6.0, ((amp \* 0.2621440000000001) + 0.1))); stems\_7 — a Line \[blue\] drawn in lags (start=(7.0, 0.0), end=(7.0, ((amp \* 0.20971520000000007) + -0.11))); stems\_8 — a Line \[blue\] drawn in lags (start=(8.0, 0.0), end=(8.0, ((amp \* 0.1677721600000001) + 0.07))); stems\_9 — a Line \[blue\] drawn in lags (start=(9.0, 0.0), end=(9.0, ((amp \* 0.13421772800000006) + -0.06))); stems\_10 — a Line \[blue\] drawn in lags (start=(10.0, 0.0), end=(10.0, ((amp \* 0.10737418240000006) + 0.08)))

Actions:
- [07:35.041](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=455.0407083333333): band\_f is shown on the screen, written out.
- [07:40.801](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=460.8007083333333): b\_hi is shown on the screen, written out.
- [07:40.801](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=460.8007083333333): b\_lo is shown on the screen, written out.

##### [07:43.261](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=463.26070833333335)

Narration: Şimdi modelde eksik bir dinamik olduğunu düşünün, örneğin ivmeyi modellemedik. İnovasyonlar renklenir: ilk gecikmeler sınırın çok üstüne çıkar ve yavaşça söner.

Board: white\_f — a Math \[text\] that says "$E\[bold(nu)\_k bold(nu)\_j^T\] = bold(S)\_k delta\_(k j)$"; rho\_f — a Math \[text\] that says "$hat(rho)\_l = frac(sum\_k nu\_k nu\_(k+l), sum\_k nu\_k^2)$"; band\_f — a Math \[text\] that says "$abs(hat(rho)\_l) \< frac(1.96, sqrt(K))$"; lags — an Axes (x\_range=(0.0, 11.0), y\_range=(-0.4, 0.8), x\_ticks\_every=2.0); head\_white — a Heading that says "İnovasyon Beyazlığı"; stems — a Line \[blue\] drawn in lags (start=(1.0, 0.0), end=(1.0, ((amp \* 0.8) + 0.09))); stems\_2 — a Line \[blue\] drawn in lags (start=(2.0, 0.0), end=(2.0, ((amp \* 0.6400000000000001) + -0.05))); stems\_3 — a Line \[blue\] drawn in lags (start=(3.0, 0.0), end=(3.0, ((amp \* 0.5120000000000001) + 0.12))); stems\_4 — a Line \[blue\] drawn in lags (start=(4.0, 0.0), end=(4.0, ((amp \* 0.4096000000000001) + -0.08))); stems\_5 — a Line \[blue\] drawn in lags (start=(5.0, 0.0), end=(5.0, ((amp \* 0.3276800000000001) + 0.06))); stems\_6 — a Line \[blue\] drawn in lags (start=(6.0, 0.0), end=(6.0, ((amp \* 0.2621440000000001) + 0.1))); stems\_7 — a Line \[blue\] drawn in lags (start=(7.0, 0.0), end=(7.0, ((amp \* 0.20971520000000007) + -0.11))); stems\_8 — a Line \[blue\] drawn in lags (start=(8.0, 0.0), end=(8.0, ((amp \* 0.1677721600000001) + 0.07))); stems\_9 — a Line \[blue\] drawn in lags (start=(9.0, 0.0), end=(9.0, ((amp \* 0.13421772800000006) + -0.06))); stems\_10 — a Line \[blue\] drawn in lags (start=(10.0, 0.0), end=(10.0, ((amp \* 0.10737418240000006) + 0.08))); b\_hi — a Line \[green\] drawn in lags (start=(0.0, 0.196), end=(11.0, 0.196), dashed=True); b\_lo — a Line \[green\] drawn in lags (start=(0.0, -0.196), end=(11.0, -0.196), dashed=True)

Actions:
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_2 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_3 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_4 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_5 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_6 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_7 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_8 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_9 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): stems\_10 is redrawn as the numbers it depends on change.
- [07:48.841](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=468.84070833333334): amp ticks to 0.6.

##### [07:53.901](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=473.90070833333334)

Narration: Bu görüntü, modelin bir şeyi kaçırdığını gösterir. Çare, model yapısını gözden geçirmek ya da süreç gürültüsünü doğru yapıda kurmaktır.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [07:57.081](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=477.08070833333335): rho\_f is indicated — a transient flash.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): band\_f is hidden from the screen — left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): head\_white is hidden from the screen — left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): lags is hidden from the screen — left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_2 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_3 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_4 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_5 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_6 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_7 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_8 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_9 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): stems\_10 is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): b\_hi is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): b\_lo is hidden from the screen — lags left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): rho\_f is hidden from the screen — left the board.
- [08:1.988](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=481.9882083333333): white\_f is hidden from the screen — left the board.

##### [08:3.188](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=483.18820833333336)

Narration: Beyazlık bağımsızlığı sınar. Bir de dağılımın şekline bakarız: inovasyonlar gerçekten Gauss mu? Her inovasyonu kendi standart sapmasına böleriz, tutarlı filtrede sonuç standart normal dağılır.

Board: Empty.

Actions:
- [08:3.188](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=483.18820833333336): head\_ks is shown on the screen, written out.
- [08:8.641](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=488.64070833333335): cdf is shown on the screen, written out.
- [08:11.681](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=491.6807083333333): cdf moves to a new place on the board.
- [08:11.681](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=491.6807083333333): norm\_f is shown on the screen, written out.

##### [08:15.801](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=495.8007083333333)

Narration: Sarı eğri standart normalin birikimli dağılım fonksiyonu. Mavi merdiven ise on iki normalleştirilmiş inovasyonun deneysel birikimli dağılımı.

Board: norm\_f — a Math \[text\] that says "$u\_k = frac(nu\_k, sqrt(S\_k)) tilde.op cal(N) (0, 1)$"; cdf — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 1.1), x\_ticks\_every=1.0); head\_ks — a Heading that says "Normallik: Kolmogorov–Smirnov Testi"

Actions:
- [08:16.041](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=496.0407083333333): phi\_curve is shown on the screen, written out.
- [08:19.601](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=499.60070833333333): emp\_curve is shown on the screen, written out.

##### [08:25.013](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=505.01320833333335)

Narration: Kolmogorov Smirnov testi, bu iki eğri arasındaki en büyük dikey uzaklığa bakar. Bu uzaklığa D istatistiği denir.

Board: norm\_f — a Math \[text\] that says "$u\_k = frac(nu\_k, sqrt(S\_k)) tilde.op cal(N) (0, 1)$"; cdf — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 1.1), x\_ticks\_every=1.0); head\_ks — a Heading that says "Normallik: Kolmogorov–Smirnov Testi"; phi\_curve — a FunctionPlot \[yellow\] drawn in cdf (function=\<function\>, x\_range=(-3.0, 3.0)); emp\_curve — a FunctionPlot \[blue\] drawn in cdf (function=\<function\>, x\_range=(-3.0, 3.0))

Actions:
- [08:26.321](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=506.32070833333336): ks\_f is shown on the screen, written out.
- [08:28.881](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=508.88070833333336): gap\_line is shown on the screen, written out.

##### [08:33.066](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=513.0657083333333)

Narration: Burada D yaklaşık sıfır virgül sıfır dokuz. On iki örnek için yüzde doksan beşlik kritik değer sıfır virgül otuz dokuz. D bunun çok altında, normallik reddedilmez.

Board: norm\_f — a Math \[text\] that says "$u\_k = frac(nu\_k, sqrt(S\_k)) tilde.op cal(N) (0, 1)$"; ks\_f — a Math \[text\] that says "$D\_n = max\_x abs(F\_n (x) - Phi(x))$"; cdf — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 1.1), x\_ticks\_every=1.0); head\_ks — a Heading that says "Normallik: Kolmogorov–Smirnov Testi"; phi\_curve — a FunctionPlot \[yellow\] drawn in cdf (function=\<function\>, x\_range=(-3.0, 3.0)); emp\_curve — a FunctionPlot \[blue\] drawn in cdf (function=\<function\>, x\_range=(-3.0, 3.0)); gap\_line — a Line \[red\] labelled "D\_n" drawn in cdf (start=(1.45, 0.9264707403903516), end=(1.45, 0.8333333333333334))

Actions:
- [08:38.481](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=518.4807083333334): crit\_f is shown on the screen, written out.

##### [08:44.468](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=524.4682083333333)

Narration: Test başarısız olursa genellikle kalın kuyruklu gürültü ya da aykırı ölçümler vardır. O zaman ölçüm kapısı ya da sağlam bir gürültü modeli düşünülür. Unutmayın, NIS ortalaması tutsa bile dağılımın şekli yanlış olabilir.

Board: norm\_f — a Math \[text\] that says "$u\_k = frac(nu\_k, sqrt(S\_k)) tilde.op cal(N) (0, 1)$"; ks\_f — a Math \[text\] that says "$D\_n = max\_x abs(F\_n (x) - Phi(x))$"; crit\_f — a Math \[text\] that says "$D\_n \< frac(1.36, sqrt(n))$"; cdf — an Axes (x\_range=(-3.0, 3.0), y\_range=(0.0, 1.1), x\_ticks\_every=1.0); head\_ks — a Heading that says "Normallik: Kolmogorov–Smirnov Testi"; phi\_curve — a FunctionPlot \[yellow\] drawn in cdf (function=\<function\>, x\_range=(-3.0, 3.0)); emp\_curve — a FunctionPlot \[blue\] drawn in cdf (function=\<function\>, x\_range=(-3.0, 3.0)); gap\_line — a Line \[red\] labelled "D\_n" drawn in cdf (start=(1.45, 0.9264707403903516), end=(1.45, 0.8333333333333334))

Actions:
- [08:44.961](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=524.9607083333334): crit\_f is indicated — a transient flash.
- [08:58.052](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=538.0515208333334): cdf is hidden from the screen — left the board.
- [08:58.052](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=538.0515208333334): phi\_curve is hidden from the screen — cdf left the board.
- [08:58.052](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=538.0515208333334): emp\_curve is hidden from the screen — cdf left the board.
- [08:58.052](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=538.0515208333334): gap\_line is hidden from the screen — cdf left the board.
- [08:58.052](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=538.0515208333334): crit\_f is hidden from the screen — left the board.
- [08:58.052](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=538.0515208333334): head\_ks is hidden from the screen — left the board.
- [08:58.052](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=538.0515208333334): ks\_f is hidden from the screen — left the board.
- [08:58.052](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=538.0515208333334): norm\_f is hidden from the screen — left the board.

### Scene 5: [İstatistiksel Dayanıklılık: Monte Carlo](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=539.0931875)

Span: 08:59.093–10:11.355 (539.0931875s–611.3554583333333s).

#### Objects

- expected: a Point \[yellow\] labelled "n\_x" drawn in line (location=(2.0, 0.0))
- heading: a Heading that says "İstatistiksel Dayanıklılık: Monte Carlo"
- line: a NumberLine labelled "overline(epsilon)" (x\_range=(0.0, 4.0), include\_numbers=True)
- mc\_f: a Math \[text\] that says "$bold(x)\_0^i tilde.op cal(N) (hat(bold(x))\_0, bold(P)\_0)$"
- p\_hi: a Point \[green\] labelled "3.42" drawn in line (location=(\<VariableNumber r2 = 2.41\>, 0.0))
- p\_lo: a Point \[green\] labelled "0.96" drawn in line (location=(\<VariableNumber r1 = 1.63\>, 0.0))
- r1: a VariableNumber (initial\_value=0.96, format\_spec='.2f')
- r2: a VariableNumber (initial\_value=3.42, format\_spec='.2f')
- runs: a Table \[text\] that says "N ANEES aralığı 10 $\[0.96, 3.42\]$ 50 $\[1.48, 2.59\]$ 100 $\[1.63, 2.41\]$" (rows=(('N', 'ANEES aralığı'), ('10', '$\[0.96, 3.42\]$'), ('50', '$\[1.…, header=True)
- seg: a Line \[green\] drawn in line (start=(\<VariableNumber r1 = 1.63\>, 0.0), end=(\<VariableNumber r2 = 2.41\>, 0.0))

#### Beats

##### [08:59.093](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=539.0931875)

Narration: Şimdiye kadar konuştuğumuz testlerin çoğu tek bir koşuya güvenmez. Gürültü rastgeledir, tek bir şanslı ya da şanssız koşu bizi yanıltabilir. Çözüm Monte Carlo benzetimidir.

Board: Empty.

Actions:
- [08:59.093](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=539.0931875): heading is shown on the screen, written out.

##### [09:10.741](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=550.7406875)

Narration: Her koşuda başlangıç durumunu, süreç gürültüsünü ve ölçüm gürültüsünü bağımsız olarak yeniden çekeriz. Senaryo aynı, rastgelelik farklı. Sonra RMSE, ANEES ve NIS gibi metrikleri tüm koşular üzerinden ortalarız.

Board: heading — a Heading that says "İstatistiksel Dayanıklılık: Monte Carlo"

Actions:
- [09:11.533](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=551.5331875): mc\_f is shown on the screen, written out.

##### [09:25.696](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=565.6956875)

Narration: Peki kaç koşu yeterli? Koşu sayısı arttıkça ANEES kabul bandı daralır. On koşuda bant sıfır virgül doksan altı ile üç virgül kırk iki arasında, oldukça geniş.

Board: mc\_f — a Math \[text\] that says "$bold(x)\_0^i tilde.op cal(N) (hat(bold(x))\_0, bold(P)\_0)$"; heading — a Heading that says "İstatistiksel Dayanıklılık: Monte Carlo"

Actions:
- [09:25.696](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=565.6956875): line is shown on the screen, written out.
- [09:26.693](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=566.6931875): runs is shown on the screen, written out.
- [09:31.013](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=571.0131875): runs is shown on the screen, written out.
- [09:31.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=571.7331875): seg is shown on the screen, written out.
- [09:31.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=571.7331875): p\_lo is shown on the screen, written out.
- [09:31.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=571.7331875): p\_hi is shown on the screen, written out.

##### [09:37.148](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=577.1481875)

Narration: Elli koşuda bir virgül kırk sekiz ile iki virgül elli dokuz arasına iner. Yüz koşuda ise bir virgül altmış üç ile iki virgül kırk bir arası.

Board: mc\_f — a Math \[text\] that says "$bold(x)\_0^i tilde.op cal(N) (hat(bold(x))\_0, bold(P)\_0)$"; line — a NumberLine labelled "overline(epsilon)" (x\_range=(0.0, 4.0), include\_numbers=True); heading — a Heading that says "İstatistiksel Dayanıklılık: Monte Carlo"; seg — a Line \[green\] drawn in line (start=(\<VariableNumber r1 = 1.63\>, 0.0), end=(\<VariableNumber r2 = 2.41\>, 0.0)); p\_lo — a Point \[green\] labelled "0.96" drawn in line (location=(\<VariableNumber r1 = 1.63\>, 0.0)); p\_hi — a Point \[green\] labelled "3.42" drawn in line (location=(\<VariableNumber r2 = 2.41\>, 0.0))

Actions:
- [09:37.293](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=577.2931875): seg is redrawn as the numbers it depends on change.
- [09:37.293](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=577.2931875): p\_lo is redrawn as the numbers it depends on change.
- [09:37.293](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=577.2931875): p\_hi is redrawn as the numbers it depends on change.
- [09:37.293](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=577.2931875): runs is shown on the screen, written out.
- [09:37.293](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=577.2931875): r1 ticks to 1.48.
- [09:37.293](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=577.2931875): r2 ticks to 2.59.
- [09:41.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=581.7331875): seg is redrawn as the numbers it depends on change.
- [09:41.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=581.7331875): p\_lo is redrawn as the numbers it depends on change.
- [09:41.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=581.7331875): p\_hi is redrawn as the numbers it depends on change.
- [09:41.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=581.7331875): runs is shown on the screen, written out.
- [09:41.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=581.7331875): r1 ticks to 1.63.
- [09:41.733](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=581.7331875): r2 ticks to 2.41.

##### [09:46.326](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=586.3256875)

Narration: Bant, beklenen değer olan ikinin çevresinde sıkışıyor. Daha çok koşu, daha keskin bir test demektir ve küçük tutarsızlıklar da yakalanır. Pratikte elli ile yüz koşu iyi bir başlangıçtır.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [09:47.093](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=587.0931875): expected is shown on the screen, written out.

##### [09:58.696](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=598.6956875)

Narration: Bir uyarı daha: tek senaryo yetmez. Farklı manevralar, başlangıç hataları ve gürültü seviyeleriyle de deneriz. Rastgele tohumları da kaydederiz ki her sonuç birebir tekrarlanabilsin.

Board: mc\_f — a Math \[text\] that says "$bold(x)\_0^i tilde.op cal(N) (hat(bold(x))\_0, bold(P)\_0)$"; line — a NumberLine labelled "overline(epsilon)" (x\_range=(0.0, 4.0), include\_numbers=True); heading — a Heading that says "İstatistiksel Dayanıklılık: Monte Carlo"; seg — a Line \[green\] drawn in line (start=(\<VariableNumber r1 = 1.63\>, 0.0), end=(\<VariableNumber r2 = 2.41\>, 0.0)); p\_lo — a Point \[green\] labelled "0.96" drawn in line (location=(\<VariableNumber r1 = 1.63\>, 0.0)); p\_hi — a Point \[green\] labelled "3.42" drawn in line (location=(\<VariableNumber r2 = 2.41\>, 0.0)); expected — a Point \[yellow\] labelled "n\_x" drawn in line (location=(2.0, 0.0))

Actions:
- [10:6.333](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=606.3331875): mc\_f is indicated — a transient flash.
- [10:10.314](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=610.3137916666667): heading is hidden from the screen — left the board.
- [10:10.314](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=610.3137916666667): line is hidden from the screen — left the board.
- [10:10.314](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=610.3137916666667): seg is hidden from the screen — line left the board.
- [10:10.314](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=610.3137916666667): p\_lo is hidden from the screen — line left the board.
- [10:10.314](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=610.3137916666667): p\_hi is hidden from the screen — line left the board.
- [10:10.314](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=610.3137916666667): expected is hidden from the screen — line left the board.
- [10:10.314](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=610.3137916666667): mc\_f is hidden from the screen — left the board.
- [10:10.314](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=610.3137916666667): runs is hidden from the screen — left the board.

### Scene 6: [Zamanlama, Replay ve Teşhis](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=611.3554583333333)

Span: 10:11.355–12:37.561 (611.3554583333333s–757.5614166666667s).

#### Objects

- a\_pt: a Point \[red\] labelled "t\_a" drawn in timeline (location=(5.6, 0.0))
- budget\_f: a Math \[text\] that says "$t\_(upright("hesap")) + t\_(upright("gecikme")) \< T\_s$"
- deadline: a Line \[red\] drawn in timing (start=(0.0, 10.0), end=(100.0, 10.0), dashed=True)
- delay: a Brace \[red\] labelled "upright("gecikme")" drawn in timeline (x\_start=3.4, x\_end=5.6)
- diag: a Table \[text\] that says "Belirti İlk bakılacak yer ANEES, NIS üst sınırın üstünde Q veya R çok küçük, eksik model ANEES, NIS alt sınırın altında Q, R veya $P\_0$ çok büyük İnovasyonlar renkli Eksik dinamik, Q yapısı KS testi başarısız Aykırı değer, Gauss dışı gürül…" (rows=(('Belirti', 'İlk bakılacak yer'), ('ANEES, NIS üst sınırın üst…, header=True)
- exec\_curve: a FunctionPlot \[blue\] drawn in timing (function=\<function\>, x\_range=(0.0, 100.0))
- head\_diag: a Heading that says "Testler Başarısız Olunca"
- head\_oosm: a Heading that says "Zamanlama: Sırası Bozuk Ölçümler"
- head\_rt: a Heading that says "Replay ve Gerçek Zaman"
- k\_pt: a Point \[yellow\] labelled "t\_k" drawn in timeline (location=(5.0, 0.0))
- late: a CurvedArrow \[red\] drawn in timeline (start=(3.4, 0.0), end=(5.6, 0.0))
- m\_pt: a Point \[red\] labelled "t\_m" drawn in timeline (location=(3.4, 0.0))
- oosm\_list: a Block \[text\] that says "Atmak: basit ama bilgi kaybı Yeniden işlemek: geri sar, tekrar oynat Geriye kestirim: doğrudan bugüne kat"
- point: a Point \[yellow\] drawn in timing (location=(70.0, 11.662543472984721))
- rt\_list: a Block \[text\] that says "Replay: aynı kayıt, aynı sonuç Gerçek zaman: en kötü durum süresi Zaman damgası: ölçüm anı, varış anı değil"
- timeline: a NumberLine labelled "t" (x\_range=(0.0, 8.0), include\_numbers=True)
- timing: an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 14.0), x\_ticks\_every=20.0)

#### Beats

##### [10:11.355](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=611.3554583333333)

Narration: Son boyut zamanlama. Gerçek sistemlerde ölçümler her zaman sırayla gelmez. Bir radar ölçümü üç virgül dördüncü saniyede alınmış, ama ağ gecikmesi yüzünden ancak beş virgül altıda gelmiş olabilir.

Board: Empty.

Actions:
- [10:11.355](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=611.3554583333333): head\_oosm is shown on the screen, written out.
- [10:11.355](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=611.3554583333333): timeline is shown on the screen, written out.
- [10:19.435](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=619.4354583333334): m\_pt is shown on the screen, written out.
- [10:20.795](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=620.7954583333334): late is shown on the screen, written out.
- [10:23.195](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=623.1954583333334): a\_pt is shown on the screen, written out.

##### [10:24.815](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=624.8154583333334)

Narration: Bu arada filtre çoktan beşinci saniyeye ilerlemiştir. Buna sırası bozuk ölçüm, kısaca OOSM denir.

Board: timeline — a NumberLine labelled "t" (x\_range=(0.0, 8.0), include\_numbers=True); head\_oosm — a Heading that says "Zamanlama: Sırası Bozuk Ölçümler"; m\_pt — a Point \[red\] labelled "t\_m" drawn in timeline (location=(3.4, 0.0)); late — a CurvedArrow \[red\] drawn in timeline (start=(3.4, 0.0), end=(5.6, 0.0)); a\_pt — a Point \[red\] labelled "t\_a" drawn in timeline (location=(5.6, 0.0))

Actions:
- [10:25.635](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=625.6354583333333): k\_pt is shown on the screen, written out.
- [10:30.915](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=630.9154583333334): delay is shown on the screen, written out.

##### [10:33.013](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=633.0129583333334)

Narration: Üç yol var. En basit yol, ölçümü atmaktır, ama bilgi kaybederiz.

Board: timeline — a NumberLine labelled "t" (x\_range=(0.0, 8.0), include\_numbers=True); head\_oosm — a Heading that says "Zamanlama: Sırası Bozuk Ölçümler"; m\_pt — a Point \[red\] labelled "t\_m" drawn in timeline (location=(3.4, 0.0)); late — a CurvedArrow \[red\] drawn in timeline (start=(3.4, 0.0), end=(5.6, 0.0)); a\_pt — a Point \[red\] labelled "t\_a" drawn in timeline (location=(5.6, 0.0)); k\_pt — a Point \[yellow\] labelled "t\_k" drawn in timeline (location=(5.0, 0.0)); delay — a Brace \[red\] labelled "upright("gecikme")" drawn in timeline (x\_start=3.4, x\_end=5.6)

Actions:
- [10:33.013](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=633.0129583333334): oosm\_list is shown on the screen, written out.
- [10:35.595](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=635.5954583333333): oosm\_list (the "Atmak" part) is emphasized.

##### [10:38.42](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=638.4204583333333)

Narration: İkinci yol, geçmiş durumları bir tamponda saklamak, ölçüm anına geri sarmak ve sonrasını yeniden işlemektir. Doğrudur ama hesap yükü getirir.

Board: oosm\_list — a Block \[text\] that says "Atmak: basit ama bilgi kaybı Yeniden işlemek: geri sar, tekrar oynat Geriye kestirim: doğrudan bugüne kat"; timeline — a NumberLine labelled "t" (x\_range=(0.0, 8.0), include\_numbers=True); head\_oosm — a Heading that says "Zamanlama: Sırası Bozuk Ölçümler"; m\_pt — a Point \[red\] labelled "t\_m" drawn in timeline (location=(3.4, 0.0)); late — a CurvedArrow \[red\] drawn in timeline (start=(3.4, 0.0), end=(5.6, 0.0)); a\_pt — a Point \[red\] labelled "t\_a" drawn in timeline (location=(5.6, 0.0)); k\_pt — a Point \[yellow\] labelled "t\_k" drawn in timeline (location=(5.0, 0.0)); delay — a Brace \[red\] labelled "upright("gecikme")" drawn in timeline (x\_start=3.4, x\_end=5.6)

Actions:
- [10:38.595](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=638.5954583333333): oosm\_list (the "Atmak" part) is no longer emphasized.
- [10:38.595](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=638.5954583333333): oosm\_list (the "Yeniden işlemek" part) is emphasized.

##### [10:48.038](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=648.0379583333333)

Narration: Üçüncü yol, gecikmiş ölçümü geriye doğru bir kestirimle doğrudan bugünkü duruma katmaktır. Daha ucuzdur ama dikkatli bir türetme ister.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [10:48.235](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=648.2354583333333): oosm\_list (the "Geriye kestirim" part) is emphasized.
- [10:48.235](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=648.2354583333333): oosm\_list (the "Yeniden işlemek" part) is no longer emphasized.
- [10:56.445](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=656.4454583333334): oosm\_list (the "Geriye kestirim" part) is no longer emphasized.

##### [10:57.045](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=657.0454583333333)

Narration: Nasıl test ederiz? Kaydedilmiş veriyi, gecikmeleri yapay olarak karıştırıp tekrar oynatırız ve sonucu sıralı işlenmiş referansla karşılaştırırız. NEES ve NIS burada da tutmalı.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [11:1.155](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=661.1554583333333): late is indicated — a transient flash.
- [11:8.203](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=668.2029583333333): head\_oosm is hidden from the screen — left the board.
- [11:8.203](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=668.2029583333333): oosm\_list is hidden from the screen — left the board.
- [11:8.203](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=668.2029583333333): timeline is hidden from the screen — left the board.
- [11:8.203](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=668.2029583333333): m\_pt is hidden from the screen — timeline left the board.
- [11:8.203](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=668.2029583333333): late is hidden from the screen — timeline left the board.
- [11:8.203](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=668.2029583333333): a\_pt is hidden from the screen — timeline left the board.
- [11:8.203](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=668.2029583333333): k\_pt is hidden from the screen — timeline left the board.
- [11:8.203](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=668.2029583333333): delay is hidden from the screen — timeline left the board.

##### [11:9.403](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=669.4029583333333)

Narration: Bir de kayıttan tekrar oynatma testi var. Aynı kayıt aynı filtreye verildiğinde her seferinde birebir aynı sonucu almalıyız. Almıyorsak kodda bir zamanlama ya da başlatma hatası vardır.

Board: Empty.

Actions:
- [11:9.403](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=669.4029583333333): head\_rt is shown on the screen, written out.
- [11:10.515](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=670.5154583333333): rt\_list is shown on the screen, written out.
- [11:15.235](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=675.2354583333333): rt\_list (the "aynı sonuç" part) is emphasized.

##### [11:21.618](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=681.6179583333334)

Narration: Son olarak gerçek zaman. Her döngüde hesap süresi ile gecikmenin toplamı, örnekleme periyodundan küçük olmalı. Mavi eğri döngü başına hesap süresi, kırmızı çizgi on milisaniyelik sınır.

Board: rt\_list — a Block \[text\] that says "Replay: aynı kayıt, aynı sonuç Gerçek zaman: en kötü durum süresi Zaman damgası: ölçüm anı, varış anı değil"; head\_rt — a Heading that says "Replay ve Gerçek Zaman"

Actions:
- [11:21.618](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=681.6179583333334): timing is shown on the screen, written out.
- [11:25.875](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=685.8754583333333): budget\_f is shown on the screen, written out.
- [11:28.715](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=688.7154583333333): exec\_curve is shown on the screen, written out.
- [11:31.275](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=691.2754583333333): deadline is shown on the screen, written out.

##### [11:34.353](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=694.3529583333334)

Narration: Ortalama süre sınırın rahatça altında. Ama yetmişinci döngü civarında bir sıçrama sınırı aşıyor. Gerçek zamanda önemli olan ortalama değil, en kötü durumdur.

Board: rt\_list — a Block \[text\] that says "Replay: aynı kayıt, aynı sonuç Gerçek zaman: en kötü durum süresi Zaman damgası: ölçüm anı, varış anı değil"; budget\_f — a Math \[text\] that says "$t\_(upright("hesap")) + t\_(upright("gecikme")) \< T\_s$"; timing — an Axes (x\_range=(0.0, 100.0), y\_range=(0.0, 14.0), x\_ticks\_every=20.0); head\_rt — a Heading that says "Replay ve Gerçek Zaman"; exec\_curve — a FunctionPlot \[blue\] drawn in timing (function=\<function\>, x\_range=(0.0, 100.0)); deadline — a Line \[red\] drawn in timing (start=(0.0, 10.0), end=(100.0, 10.0), dashed=True)

Actions:
- [11:38.835](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=698.8354583333333): point is shown on the screen, grown.
- [11:41.026](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=701.0262315967672): point is hidden from the screen.
- [11:43.035](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=703.0354583333334): rt\_list (the "aynı sonuç" part) is no longer emphasized.
- [11:43.035](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=703.0354583333334): rt\_list (the "en kötü durum" part) is emphasized.

##### [11:44.57](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=704.5704583333334)

Narration: Bir de her ölçümü varış anına göre değil, gerçek ölçüm anına göre işleyin. Zaman damgası hatası, tutarlılık testlerini sessizce bozar.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [11:49.755](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=709.7554583333333): rt\_list (the "en kötü durum" part) is no longer emphasized.
- [11:49.755](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=709.7554583333333): rt\_list (the "ölçüm anı" part) is emphasized.
- [11:53.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=713.3029583333333): budget\_f is hidden from the screen — left the board.
- [11:53.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=713.3029583333333): head\_rt is hidden from the screen — left the board.
- [11:53.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=713.3029583333333): rt\_list is hidden from the screen — left the board.
- [11:53.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=713.3029583333333): timing is hidden from the screen — left the board.
- [11:53.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=713.3029583333333): exec\_curve is hidden from the screen — timing left the board.
- [11:53.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=713.3029583333333): deadline is hidden from the screen — timing left the board.
- [11:53.303](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=713.3029583333333): rt\_list (the "ölçüm anı" part) is no longer emphasized.

##### [11:54.503](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=714.5029583333334)

Narration: Toparlayalım. Bir test başarısız olduğunda nereye bakacağımızı bu tablo özetliyor.

Board: Empty.

Actions:
- [11:54.503](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=714.5029583333334): head\_diag is shown on the screen, written out.
- [11:58.675](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=718.6754583333334): diag is shown on the screen, written out.

##### [12:0.288](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=720.2879583333333)

Narration: ANEES ya da NIS üst sınırı aşıyorsa filtre aşırı güvenlidir: Q ya da R çok küçük, ya da model eksik. Alt sınırın altındaysa tersi, kovaryanslar şişkin.

Board: head\_diag — a Heading that says "Testler Başarısız Olunca"

Actions:
- [12:0.515](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=720.5154583333333): diag is shown on the screen, written out.
- [12:7.715](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=727.7154583333333): diag is shown on the screen, written out.

##### [12:11.74](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=731.7404583333333)

Narration: İnovasyonlar renkliyse modelde eksik bir dinamik aranır. KS testi başarısızsa aykırı değerlere ve Gauss dışı gürültüye bakılır.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [12:11.915](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=731.9154583333334): diag is shown on the screen, written out.
- [12:15.595](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=735.5954583333333): diag is shown on the screen, written out.

##### [12:20.92](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=740.9204583333333)

Narration: Replay ile gerçek zamanlı sonuçlar ayrışıyorsa zaman damgalarına ve geciken ölçümlere bakılır.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [12:21.155](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=741.1554583333334): diag is shown on the screen, written out.

##### [12:27.32](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=747.3204583333334)

Narration: Bu testlerin hepsinden geçen bir filtre artık yalnızca çalışan değil, kendi belirsizliğini doğru bilen bir filtredir. Dersin amacı da tam olarak buydu.

Board: Unchanged from the preceding beat in this scene.

Actions:
- [12:28.155](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=748.1554583333334): diag (the "column=2" part) is emphasized.
- [12:34.275](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=754.2754583333333): diag (the "column=2" part) is no longer emphasized.
- [12:36.52](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=756.5197499999999): diag is hidden from the screen — left the board.
- [12:36.52](https://academa.ai/@bilal/lectures/kalman-filtresi-performans-ve-tutarl%C4%B1l%C4%B1k-testleri?t=756.5197499999999): head\_diag is hidden from the screen — left the board.
