Budowanie modelu uczenia maszynowego w celu przewidywania plonów na podstawie danych środowiskowych

10

Mam zestaw danych zawierający dane dotyczące temperatury, opadów i plonów soi dla gospodarstwa przez 10 lat (2005–2014). Na podstawie tych danych chciałbym przewidzieć rentowności w 2015 r.

Należy pamiętać, że zestaw danych zawiera CODZIENNE wartości temperatury i opadów, ale tylko 1 wartość rocznie dla plonu, ponieważ zbiory roślin mają miejsce pod koniec sezonu wegetacyjnego upraw.

Chcę zbudować regresję lub inny model oparty na uczeniu maszynowym, aby przewidzieć plony w 2015 r., W oparciu o regresję / jakiś inny model wyprowadzony z badania zależności między plonami a temperaturą i opadami w poprzednich latach.

Znam się na uczeniu maszynowym za pomocą scikit-learn. Nie wiem jednak, jak przedstawić ten problem. Problem polega na tym, że temperatura i opady są codzienne, ale wydajność wynosi tylko 1 wartość rocznie.

Jak do tego podejść?

użytkownik308827
źródło
nawet próbuję zbudować model do przewidywania plonu. Czy mógłbyś podzielić się szczegółami na temat stosowanego podejścia?
Nitz
Czy udało ci się uzyskać pełną odpowiedź? Jeśli nie, daj mi znać, a z przyjemnością napiszę szczegółową odpowiedź, jak to zrobić, ponieważ pracuję w tej samej domenie
89_Simple,
@ Crop89, byłoby świetnie! czekam na twoją odpowiedź
user308827
Rozgryzłeś to? Mam ten sam problem. Czy mógłbyś podzielić się szczegółami, jeśli to wypracowałeś? wielkie dzięki
eric huang

Odpowiedzi:

3

Na początek możesz przewidzieć wydajność w nadchodzącym roku na podstawie dziennych danych z poprzedniego roku. Możesz oszacować parametry modelu, biorąc pod uwagę wartość każdego roku jako jeden „punkt”, a następnie zweryfikuj model za pomocą walidacji krzyżowej. Możesz rozszerzyć ten model, biorąc pod uwagę więcej niż w ubiegłym roku, ale spoglądając za daleko, będziesz miał problemy z weryfikacją modelu i stroju.

Emre
źródło
dzięki @Emre, mylę się, że jak traktować dane z całego roku jako 1 punkt? Czy każdy wiersz danych (reprezentujących jeden dzień) nie stanowi próbki w nomenklaturze scikit-learn? Jak traktować cały rok jako jedną próbkę zamiast 365?
user308827
1
Nie zajmowałem się szczegółami sklearn, ale skoro pytasz, chcesz używać sklearn.cross_validationmetod z „Label” w nazwie, takich jak sklearn.cross_validation.LabelKFold .
Emre
dzięki @Emre, więc chodzi o to, aby co roku przypisywać jedną etykietę, prawda?
user308827
Tak, @ user308827.
Emre
jeszcze raz dziękuję @ Emre, proszę spojrzeć na dalsze pytanie: datascience.stackexchange.com/questions/9612/…
user308827
1

Możesz użyć Bayesian Belief Network do przewidywania. Ona jest linkiem do podstawowych wyjaśnień. Sieć Bayesowska

Dr Turkuaz
źródło
1

Masz 10 punktów danych, przy czym każdy punkt danych ma wymiary 365 (temperatura na każdy dzień) + 365 (opady na każdy dzień). Idealnie byłoby najpierw zmniejszyć wymiary za pomocą metod uczenia maszynowego, np. PCA. Następnie użyj metod uczenia maszynowego, aby zbudować model predykcyjny. Jednak ze względu na mały zestaw danych nie sądzę, aby techniki uczenia maszynowego były odpowiednie dla twojego problemu.

yuqian
źródło