INT 21h

Hi, I am Vladimir Smagin, SysAdmin, DevOps and barely good guy. Telegram Email / GIT / Микроблог / Thingiverse / 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 *

*

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

# 2019-06-06 09:47:42

Подборка материалов по Go gist.github.com/egorsmkv/9df2a

# 2019-06-06 09:47:41

Modules для Terraform modules.tf

# 2019-06-06 09:47:38

Как прикрутить oauth2 авторизацию к сайтам, где авторизация не была предусмотрена совсем akomljen.com/protect-kubernete


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

Fortune cookie: Women are nothing but machines for producing children. -- Napoleon