INT 21h

Hi, I am Vladimir Smagin, SysAdmin. Telegram Email GPG

Python: Нахождение тренда

№ 9343 В разделе "Программирование" от September 3rd, 2018,

Код создаст CSV файл, который можно открыть в табличном редакторе. Код взят отсюда и чуток дополнен. Еще о трендах можно прочитать здесь.

import csv

def linreg(X, Y):
    """
    return a,b in solution to y = ax + b such that root mean square 
    distance between trend line and original points is minimized
    """
    N = len(X)
    Sx = Sy = Sxx = Syy = Sxy = 0.0
    for x, y in zip(X, Y):
        Sx = Sx + x
        Sy = Sy + y
        Sxx = Sxx + x*x
        Syy = Syy + y*y
        Sxy = Sxy + x*y
    det = Sxx * N - Sx * Sx
    return (Sxy * N - Sy * Sx)/det, (Sxx * Sy - Sx * Sxy)/det


x = [12, 34, 29, 38, 34, 51, 29, 34, 47, 34, 55, 94, 68, 81]
a,b = linreg(range(len(x)),x)  #your x,y are switched from standard notation

extrapolatedtrendline=[a*index + b for index in range(len(x))]

with open('open_in_calc.csv','w') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(x)
    spamwriter.writerow(extrapolatedtrendline)

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Микроблог перейти

# 2018-11-14 12:01:24

Hetzner тихо и незаметно обновили свой terraform провайдер для поддержки volumes, который до сих пор в бете, не дает создавать более 100 гигов и работает только в определенных регионах, но по факту он не дает создать более 10 гигов потому, что лимиты аккаунты надо поднять, которые нельзя поднять потому, что volumes сука в бете!

# 2018-11-07 23:17:33

Столько работал над плейбуками, что чувствую себя инженером по прочистке ансибла


© Vladimir Smagin, 2005-2018. Копирование материалов без разрешения запрещено. GPG 0x29AE91B1A37721C3
Яндекс.Метрика

Fortune cookie: Why don't you ever enter any CONTESTS, Marvin?? Don't you know your own ZIPCODE?