On Fri, Feb 18, 2022 at 9:11 AM Shaozhong SHI <shishaozh...@gmail.com> wrote:
> How to calculate frequency of positive and negative numbers and define and 
> calculate frequency of alteration of polarity?
>
> Surely, we can use frequency of alteration of polarity and level of change 
> (e.g., size of positive and negative numbers) to measure degree and frequency 
> of alteration.
>
> Any ideas in doing so in postgres tables' columns full of positive and 
> negative numbers?

Window functions might be useful to detect polarity changes:

postgres=# create table time_series (time int, value int);
CREATE TABLE
postgres=# insert into time_series values (1, -5), (2, -5), (3, 10), (4, -3);
INSERT 0 4
postgres=# select time,
                  value,
                  sign(lag(value) over (order by time)) != sign(value)
as flipped
             from time_series;
 time | value | flipped
------+-------+---------
    1 |    -5 |
    2 |    -5 | f
    3 |    10 | t
    4 |    -3 | t
(4 rows)


Reply via email to