Hareketli Ortalama

PostgreSQL ile Zaman Serisi Analizi

Jasmin Ludolf

Content Developer, DataCamp

Hareketli ortalama nedir?

kayan pencere

PostgreSQL ile Zaman Serisi Analizi

Hareketli ortalamalar

  • Hangi satırların ortalamasını alacağınızı belirtin
  • ROWS BETWEEN yan tümcesini kullanın
  • UNBOUNDED PRECENDING AND CURRENT ROW: geçerli satırdan önceki tüm satırlar
SELECT 
id,
views,
AVG(views) OVER(
    PARTITION BY id
    ORDER BY ts
    ROWS BETWEEN
    UNBOUNDED PRECEDING AND CURRENT ROW)
    AS running_avg_views
FROM dc_news_fact;
PostgreSQL ile Zaman Serisi Analizi

Hareketli ortalama hesapla

  • Beş satır için hareketli ortalama hesaplayın:
    • ROWS BETWEEN 4 PRECEDING AND CURRENT ROW

 

(1) Önceki satır

(2) Önceki satır

(3) Önceki satır

(4) Önceki satır

(5) Geçerli satır

PostgreSQL ile Zaman Serisi Analizi

Hareketli ortalama hesapla

SELECT
    id,
    ts,
    views,

AVG(views) OVER (
ORDER BY ts
ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) AS moving_average_five
FROM dc_news_fact;
PostgreSQL ile Zaman Serisi Analizi

Hareketli ortalama hesapla: sonuç

|   id|                 ts|views|moving_average_five|
|-----|-------------------|-----|-------------------|
|12121|2015-12-27 17:14:16| null|               null|
|12121|2015-12-27 17:34:16|   23|  23.00000000000000|
|12121|2015-12-27 17:54:16|   10|  16.50000000000000|
|12121|2015-12-27 18:14:16|    8|  13.66666666666666|
|12121|2015-12-27 18:34:16|    4|  11.25000000000000|
|12121|2015-12-27 18:54:16|    7|  10.40000000000000|
|12121|2015-12-27 19:14:16|    0| 5.8000000000000000|
...
PostgreSQL ile Zaman Serisi Analizi

Geçerli satır olmadan hareketli ortalama hesapla

  • ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING
SELECT
    stock_symbol,
    day,
    daily_avg,
    AVG(daily_avg) OVER(
        PARTITION BY stock_symbol
        ORDER BY day
        ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING
        ) AS avg_prev_five
FROM daily_stock_averages
ORDER BY stock_symbol, day;
PostgreSQL ile Zaman Serisi Analizi

¡Vamos a practicar!

PostgreSQL ile Zaman Serisi Analizi

Preparing Video For Download...