Αρχείο:Thiel-Sen estimator.svg

Από Βικιλεξικό
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση

Πρωτότυπο αρχείο(Αρχείο SVG, ονομαστικό μέγεθος 2.936 × 3.075 εικονοστοιχεία, μέγεθος αρχείου: 37 KB)

Αυτό το αρχείο είναι από το Wikimedia Commons και ενδέχεται να χρησιμοποιείται από άλλα εγχειρήματα. Η περιγραφή στη σελίδα περιγραφής του εκεί, εμφανίζεται παρακάτω.

Σύνοψη

Περιγραφή
English: The en:Theil–Sen estimator (black line) of a set of sample points, compared to the simple linear regression line (blue). The points were generated by adding a small amount of jitter to points on the green dashed line and then replacing some of the points by random outliers.
Ημερομηνία
Πηγή Έργο αυτού που το ανεβάζει
Δημιουργός David Eppstein


Αδειοδότηση

Εγώ, ο κάτοχος των πνευματικών δικαιωμάτων αυτού του έργου, το δημοσιεύω δια του παρόντος υπό την εξής άδεια χρήσης:
Creative Commons CC-Zero Το αρχείο αυτό έχει διατεθεί με Creative Commons CC0 1.0 Παγκόσμια Εκχώρηση Κοινού Κτήματος.
Το πρόσωπο που συσχέτισε ένα έργο με αυτή την πράξη έχει απελευθερώσει αυτό το έργο στην δημόσια σφαίρα παραιτούμενος από όλα τα δικαιώματά του σε αυτό το έργο παγκοσμίως υπό τη νομοθεσία των πνευματικών δικαιωμάτων και όλα τα σχετικά ή παρεμφερή νόμιμα δικαιώματα που είχε στο έργο, στο εύρος που νόμος ορίζει. Έργα υπό την CC0 δεν χρειάζονται απόδοση. Όταν παραθέτετε το έργο, δε χρειάζεται να υπαινιχθείτε έγκριση από το συγγραφέα.

Source code

This image was created as a pdf file by the following Python code, then converted to SVG.

from pyx import canvas,path,color
from random import random,seed
seed(12345)

N = 103
noise = 10
slope = 1.0

def sample(x):
    y = x * slope
    if random() < (y/N)**3:
        y = random()*N      # outlier
    else:
        y += (random()-0.5)*noise # non-outlier, jitter
    return y

samples = [(i*1.0,sample(i)) for i in range(N)]

c = canvas.canvas()

for x,y in samples:
    c.fill(path.circle(x,y,0.5),[color.rgb.red])

def theilsen(samples):
    N = len(samples)
    def slope(i,j):
        xi,yi = samples[i]
        xj,yj = samples[j]
        return (yi-yj)/(xi-xj)
    
    def median(L):
        L.sort()
        if len(L) & 1:
            return L[len(L)//2]
        else:
            return (L[len(L)//2 - 1] + L[len(L)//2])/2.0
    
    m = median([slope(i,j) for i in range(N) for j in range(i)])
    
    def error(i):
        x,y = samples[i]
        return y - m*x
    
    b = median([error(i) for i in range(N)])
    
    return m,b

m,b = 1,0
c.stroke(path.line(0,b,N,N*m+b),[color.rgb.green])

m,b = theilsen(samples)
c.stroke(path.line(0,b,N,N*m+b),[color.rgb.black])

def slr(samples):
    N = len(samples)
    sumxy = sum([x*y for x,y in samples])
    sumx = sum([x for x,y in samples])
    sumy = sum([y for x,y in samples])
    sumxx = sum([x*x for x,y in samples])
    m = (sumxy - sumx*sumy/N)/(sumxx - sumx**2/N)
    b = sumy/N - m*sumx/N
    return m,b

m,b = slr(samples)
c.stroke(path.line(0,b,N,N*m+b),[color.rgb.blue])

c.writePDFfile("ThielSen")

Λεζάντες

Δεν ορίστηκε λεζάντα

Items portrayed in this file

απεικονίζει

Ιστορικό αρχείου

Πατήστε σε μια ημερομηνία/ώρα για να δείτε το αρχείο όπως εμφανιζόταν εκείνη την χρονική στιγμή.

Ημερομηνία/ΏραΜικρογραφίαΔιαστάσειςΧρήστηςΣχόλιο
τρέχον18:59, 3 Νοεμβρίου 2011Μικρογραφία για την έκδοση της 18:59, 3 Νοεμβρίου 20112.936 × 3.075 (37 KB)David EppsteinDarker green, thicker lines
23:40, 3 Ιουλίου 2011Μικρογραφία για την έκδοση της 23:40, 3 Ιουλίου 20112.936 × 3.075 (37 KB)David Eppstein{{Information |Description ={{en|1=The en:Theil–Sen estimator (black line) of a set of sample points, compared to the simple linear regression line (blue). The points were generated by adding a small amount of jitter to points on the green dashe

Η ακόλουθη σελίδα χρησιμοποιεί προς αυτό το αρχείο:

Καθολική χρήση αρχείου

Τα ακόλουθα άλλα wiki χρησιμοποιούν αυτό το αρχείο: