Statystyka, prognozowanie, ekonometria, data mining Strona Główna
Reklama pqstat.pl
Statystyka, prognozowanie, ekonometria, data mining
Forum miłośników statystyki - Portal Statystyczny

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  Chat   Regulamin  Kadra forum
PORTAL STATYSTYCZNY
 Ogłoszenie 
FORUM STATYSTYCZNE MA JUŻ 10 LAT

Znasz statystykę lub ekonometrię, metody prognozowania, data mining i chcesz pomóc w rozwoju forum statystycznego ?
Pisz na: administrator(małpa)statystycy.pl

Rozpoczął swoją działalność portal statystyczny - masz pomysł na jego rozwój ?

Drogi forumowiczu! Zanim napiszesz posta zapoznaj się z regulaminem forum i przedstaw się
The International Year of Statistics (Statistics2013) Free statistics help forum. Discuss statistical research, statistical consulting Smarter Poland Portal statystyczny

Poprzedni temat «» Następny temat

Tagi tematu: nlslm, problem

Problem z nlsLM
Autor Wiadomość
Anty 
Szeregowy


Posty: 3
Skąd: Warszawa
Wysłany: 2017-09-28, 16:25   Problem z nlsLM

Cześć,

R bawię się od około dwóch tygodni, głównie regresją liniową i weryfikacją hipotez, można więc nazwać mnie absolutnym żółtodziobem. :)

Mierzę się z zadaniem wymodelowania sprzedaży w zależności od nakładów na TV i radio - plik w załączniku. Wiem, że będzie to zależność potęgowa z racji na prawo malejących przychodów.

Udaje mi się rozwiązać problem w Solverze - równanie ma postać Sales = 1027,74227 + 0,324*TV^0,575 + 0,13*Radio^0,1547

Próbowałem rozwiązać ten sam problem w R, wciąż jednak otrzymuję komunikat o błędach. Poniżej kod:

Dane <- read.csv2("D:/Ekonometria/Dim.csv", header=TRUE)
attach(Dane)

library(minpack.lm)

power = function(x, B) {
x^B
}

nls_model = nlsLM(Sales ~ b0 + a1*power(TV, b1) + a2*power(RD, b2),
data = Dane,
algorithm = "LM",
start = c(b0 = 500, b1 = 0.5, b2 = 0.5, a1 = 0.5, a2 = 0.5),
lower = c(b0 = 200, b1 =0, b2 = 0, a1 = 0, a2 = 0),
upper = c(b0 = 2000, b1 = 1, b2 = 1, a1 = 1, a2 = 1))
summary(nls_model)


I błąd:

Error in numericDeriv(form[[3L]], names(ind), env) :
Brakuje wartości lub wyprodukowano wartości nieskończone podczas wyliczania modelu
In addition: There were 26 warnings (use warnings() to see them)

Przyznam, że już nie mam pomysłów :( Będę baaardzo wdzięczny za pomoc.

E: kod "na piechotę": nls_model = nlsLM(Sales ~ b0 + a1*TV^b1 + a2*RD^b0) także nie działa :/

dim.csv
Pobierz Plik ściągnięto 10 raz(y) 4,35 KB

Ostatnio zmieniony przez Anty 2017-09-28, 16:29, w całości zmieniany 1 raz  
 
     
Google

Wysłany:    Reklama google.

 
 
mikos 
Podporucznik


Pomógł: 46 razy
Posty: 162
Skąd: Kutno
Wysłany: 2017-09-29, 10:31   

Kod:
Dane <- read.csv("dim.csv",sep=";")
head(Dane,3)
  Sales      TV     RD
1 1 222 100 000 30 000
2 1 201  70 000 20 000
3 1 149  35 000 40 000

Kod:
sapply(Dane,class)
sapply(Dane,class)
   Sales       TV       RD
"factor" "factor" "factor"

Nie można wykonać obliczeń na czynnikach - factorach.
Zmienne muszą być zakodowane jako numeric - zmienne numeryczne/liczby.

* likwidujemy spację w factorach:
Kod:
Dane02 <- as.data.frame(apply(Dane,2,function(x) gsub('\\s+', '',x)))


* konwertujemy wszystkie zmienne typu factor na character (napisy) a następnie na numeric (liczby):
Kod:
for (i in names(Dane02)) Dane02[,i] <- as.numeric(as.character(Dane02[,i]))


Kod:
head(Dane02,3)
  Sales     TV    RD
1  1222 100000 30000
2  1201  70000 20000
3  1149  35000 40000


Kod:
sapply(Dane02,class)
    Sales        TV        RD
"numeric" "numeric" "numeric"


Kod:
power = function(x, B) {
x^B
}

nls_model = nlsLM(Sales ~ b0 + a1*power(TV, b1) + a2*power(RD, b2),
data = Dane02,
algorithm = "LM",
start = c(b0 = 500, b1 = 0.5, b2 = 0.5, a1 = 0.5, a2 = 0.5),
lower = c(b0 = 200, b1 =0, b2 = 0, a1 = 0, a2 = 0),
upper = c(b0 = 2000, b1 = 1, b2 = 1, a1 = 1, a2 = 1))
summary(nls_model)

Formula: Sales ~ b0 + a1 * power(TV, b1) + a2 * power(RD, b2)

Parameters:
    Estimate Std. Error t value Pr(>|t|)   
b0 9.923e+02  8.530e+01  11.633  < 2e-16 ***
b1 4.877e-01  1.653e-01   2.950  0.00355 **
b2 1.000e+00  8.850e+00   0.113  0.91014   
a1 1.000e+00  2.172e+00   0.460  0.64575   
a2 1.318e-04  1.313e-02   0.010  0.99200   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 30.22 on 204 degrees of freedom

Number of iterations to convergence: 8
 
     
Anty 
Szeregowy


Posty: 3
Skąd: Warszawa
Wysłany: 2017-09-29, 13:17   

Bardzo dziękuję! Tradycyjnie problem rozbija się o kwestię obróbki danych - zgubił mnie nawyk separowania ,000 w Excelu oraz rzucenie się na funkcje w R, a zaniedbanie edukacji w kwestii podstaw z obróbki danych. :)
Ostatnio zmieniony przez Anty 2017-09-29, 13:18, w całości zmieniany 1 raz  
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych zakładek(IE)
Wersja do druku

Skocz do:  

Podobne Tematy
Temat Autor Forum Odpowiedzi Ostatni post
Brak nowych postów Przyklejony: problem z odpisywaniem na pw
Maro Ogłoszenia, sprawy organizacyjne forum, regulamin 10 2010-06-18, 00:51
mathkit
Brak nowych postów Przyklejony: [R] Problem z załadowniem RWeka do R
Grześ Biblioteki R, Pakiety R 3 2009-07-16, 08:47
newfuntek
Brak nowych postów Przyklejony: Interpretacja parametrów-problem
RuteQ Modelowanie ekonometryczne 51 2012-02-15, 13:35
gusia162
Brak nowych postów Przyklejony: Problem z zadaniem Odchylenie standardowe
Przedział ufnościdla odchylenia standardowego
rektiv Teoria estymacji 4 2009-06-05, 10:27
just3003
Brak nowych postów Przyklejony: zadanie z łańcuchem Markowa - zad 6/ 8.01.2007 - problem
Janek Zadanie aktuarialne - Matematyka finansowa 5 2008-04-12, 16:15
Marco Polo

Ideą przyświecającą istnieniu forum statystycznego jest stworzenie możliwości wymiany informacji, poglądów i doświadczeń osób związanych ze statystyką, mierzenie się z różnego rodzaju problemami statystycznymi i aktuarialnymi. Poruszane problemy: Statystyka w badaniach sondażowych rynku, metody reprezentacyjne, Teoria i rachunek prawdopodobieństwa, statystyka opisowa, teoria estymacji, testowanie hipotez statystycznych, ekonometria, prognozowanie, metody data mining.
Copyright (C) 2006-2015 Statystycy.pl
Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,05 sekundy. Zapytań do SQL: 18