Chciałbym wygenerować skorelowane tablice współrzędnych x i y, aby przetestować różne podejścia do plotowania matplotlib, ale gdzieś się nie udaje, ponieważ nie mogę uzyskać numpy.random.multivariate_normal
daj mi próbki, które chcę. Idealnie, chcę moje wartości x między -0,51 i 51,2, a moje wartości y pomiędzy 0,33 i 51,6 (chociaż przypuszczam, że równe zakresy byłyby w porządku, ponieważ mogę ograniczyć wykres później), ale nie jestem pewien, co znaczy (0, 0?) I wartości kowariancji, których powinienem użyć, aby pobrać te próbki z funkcji.Generowanie losowo skorelowanych punktów X i Y za pomocą Numpy
11
A
Odpowiedz
20
Jak sama nazwa wskazuje, numpy.random.multivariate_normal
generuje rozkład normalny, co oznacza, że istnieje nie-zerowe prawdopodobieństwo znalezienia punktów poza dowolnym podanym przedziałem. Możesz generować skorelowane rozkłady równomierne, ale to trochę bardziej skomplikowane. Spójrz na here dla dwóch możliwych metod.
Jeśli chcesz przejść z rozkładem normalnym, możesz ustawić sigmy, aby półokres odpowiadał 3 odchyleniom standardowym (w razie potrzeby możesz również odfiltrować złe punkty). W ten sposób będziesz miał ~ 99% swoich punktów wewnątrz przedziału, ex:
import numpy as np
from matplotlib.pyplot import scatter
xx = np.array([-0.51, 51.2])
yy = np.array([0.33, 51.6])
means = [xx.mean(), yy.mean()]
stds = [xx.std()/3, yy.std()/3]
corr = 0.8 # correlation
covs = [[stds[0]**2 , stds[0]*stds[1]*corr],
[stds[0]*stds[1]*corr, stds[1]**2]]
m = np.random.multivariate_normal(means, covs, 1000).T
scatter(m[0], m[1])
Powiązane problemy
- 1. Generowanie skorelowanych danych w Pythonie (3.3)
- 2. GetDIBits i przechodzenie między pikselami za pomocą X, Y
- 3. Generowanie mapy termicznej za pomocą pylab
- 4. Dziwactwo rubowe: x == y && [x, y] .uniq == [x, y]
- 5. Generowanie trójkątów z losowego zestawu punktów
- 6. Generowanie płynnego wykresu liniowego za pomocą matplotlib
- 7. x, y = getPos() vs. (x, y) = getPos()
- 8. Generowanie losowych punktów na powierzchni cylindra
- 9. Generowanie symetrycznych macierzy w Numpy
- 10. Jak umieścić widok tekstowy za pomocą pozycji x, y
- 11. metoda gradientu prostego za pomocą Python i numpy
- 12. Kombinacje trzech liczb dodatnich x, y, z tak, że x + y, x-y, y + z, y-z, x + z i x-z są idealnymi kwadratami
- 13. Jak obliczyć pochodną za pomocą Numpy?
- 14. Odczytaj plik binarny za pomocą Numpy fromfile i danego offsetu
- 15. narysować linię za pomocą dwóch punktów
- 16. C/C++ wynosi x [i] * y [i ++] zawsze równa x [i] * y [i]
- 17. Rozwinąć wszystkie punkty przecięcia wykresu punktów danych Xy za pomocą numpy?
- 18. Odwróć osie x i y dla Matplotlib imshow()
- 19. Generowanie skorelowanych liczb losowych z dwumianowych rozkładów w R
- 20. funkcja numpy gradient i pochodne numeryczne
- 21. Obliczanie kowariancji za pomocą Pythona i Numpy
- 22. Rysowanie linii od osi X do punktów
- 23. Jak znaleźć wszystkie zera funkcji za pomocą numpy (i scipy)?
- 24. rysowanie punktów za pomocą matplotlib.pyplot [[x1, y1], [x2, y2]]
- 25. Kiedy używać std :: hypot `(x, y)` `nad std :: sqrt (x * x + y * y)`
- 26. Jak zrobić pętlę nieskończoną z "x <= y && x > = y && x! = Y"?
- 27. Jak obrócić obraz losowo za pomocą CSS?
- 28. Uglify Minify i generowanie mapy źródłowej za pomocą Gulp
- 29. Zapisz listę punktów CG za pomocą NSUserDefaults
- 30. Rozpoznawanie kształtów za pomocą numpy/scipy (prawdopodobnie zlewnie)