Specyfikacja części Funkcja Emerson CF711AB01 to wydajny i wszechstronny termostat, który zawiera szereg innowacyjnych technologii. Jego funkcje obejmują programowalne ustawienia temperatury, precyzyjne odczyty temperatury i wyświetlanie informacji na temat nastaw, a także możliwość sterowania urządzeniami zdalnie za pośrednictwem aplikacji mobilnej. Jest to wysoce wydajny termostat, który może sprostać wszelkim wymaganiom i zapewnić wszechstronny komfort i wygodę w domu lub biurze.
Ostatnia aktualizacja: Specyfikacja części Funkcja Emerson Cf711ab01
R: funkcja glm z rodziną = specyfikacja „dwumianowa” i „waga”
Jestem bardzo zdezorientowany, jak waga działa w glm z rodziną = „dwumianowy”. W moim rozumieniu prawdopodobieństwo glm z rodziną = „dwumianowy” jest określone w następujący sposób:
gdzie to „odsetek zaobserwowanego sukcesu”, a to znana liczba prób.
W moim rozumieniu prawdopodobieństwo sukcesu jest sparametryzowane za pomocą niektórych współczynników liniowych jako i funkcji glm z wyszukiwaniem rodziny = „dwumianowe” dla:
Następnie ten problem optymalizacji można uprościć:
Dlatego jeśli pozwolimy dla wszystkich dla jakiejś stałej , to musi być również prawdą, że:
Z tego pomyślałem, że Skalowanie liczby prób ze stałą NIE wpływa na oszacowania maksymalnego prawdopodobieństwa β biorąc pod uwagę odsetek powodzenia .
Plik pomocy glm mówi:
"For a binomial GLM prior weights are used to give the number of trials when the response is the proportion of successes"
Dlatego spodziewałem się, że skalowanie wagi nie wpłynie na szacowany β biorąc pod uwagę odsetek sukcesu jako odpowiedzi. Jednak następujące dwa kody zwracają różne wartości współczynników:
Y <- c(1, 0, 0, 0)## proportion of observed successw <-1:length(Y)## weight= the number of trialsglm(Y~1, weights=w, family=binomial)
Daje to:
Call: glm(formula = Y ~1, family ="binomial", weights = w)Coefficients:(Intercept)-2. 197
podczas gdy jeśli pomnożę wszystkie wagi przez 1000, szacowane współczynniki są różne:
glm(Y~1, weights=w*1000, family=binomial)Call: glm(formula = Y ~1, family = binomial, weights = w *1000)-3. 153e+15
Widziałem wiele innych takich przykładów, nawet z umiarkowanym skalowaniem wag. Co tu się dzieje?
Odpowiedzi:
Twój przykład powoduje jedynie błąd zaokrąglania w R. Duże ciężary nie działają dobrze w glm. Prawdą jest, że skalowanie wo praktycznie każdą mniejszą liczbę, na przykład 100, prowadzi do takich samych oszacowań, co nieskalowane w.
Jeśli chcesz bardziej niezawodnego zachowania z argumentami wag, spróbuj użyć svyglmfunkcji z surveypakietu.
Spójrz tutaj:
> svyglm(Y~1, design=svydesign(ids=~1, weights=~w, data=data. frame(w=w*1000, Y=Y)), family=binomial)IndependentSampling design (with replacement)svydesign(ids =~1, weights =~w, data = data. frame(w = w *1000, Y = Y))Call: svyglm(formula = Y ~1, design = svydesign(ids =~1, weights =~w2, data = data. frame(w2 = w *1000, Y = Y)), family = binomial)-2. 197DegreesofFreedom:3Total(i. e. Null);3ResidualNullDeviance:2. 601ResidualDeviance:2. 601 AIC:2. 843
Myślę, że sprowadza się to do początkowych wartości użytych w glm. fitstosunku do tego, family$initializeco sprawia, że metoda się różni. O ile wiem, glm. fitrozwiąż problem, tworząc rozkład QR z gdzie jest macierzą projektową, a to przekątna z pierwiastkami kwadratowymi wpisów, jak opisano tutaj. Oznacza to, że wykorzystuje metodę Newtona-Raphsona. X √
Odpowiedni $intializekod to:
if(NCOL(y)==1){if(is. factor(y))y <- y ! = levels(y)[1L]n <- rep. int(1, nobs)y[weights ==0]<-0if(any(y <0| y >1))stop("y values must be 0 <= y <= 1")mustart <-(weights * y +0. 5)/(weights +1)m <- weights * yif(any(abs(m - round(m))>0. 001))warning("non-integer #successes in a binomial glm! ")}
Oto uproszczona wersja, glm. fitktóra pokazuje mój punkt widzenia
>#####># setup> y <- matrix(c(1, 0, 0, 0), ncol =1)> weights <-1:nrow(y)*1000> nobs <- length(y)> family <- binomial()> X <- matrix(rep(1, nobs), ncol =1)# design matrix used later>># set mu start as with family$initialize>if(NCOL(y)==1){+ n <- rep. int(1, nobs)+ y[weights ==0]<-0+ mustart <-(weights * y +0. 5)/(weights +1)+ m <- weights * y+if(any(abs(m - round(m))>0. 001))+ warning("non-integer #successes in a binomial glm! ")+}> mustart # starting value[, 1][1, ]0. 9995004995[2, ]0. 0002498751[3, ]0. 0001666111[4, ]0. 0001249688>(eta <- family$linkfun(mustart))[1, ]7. 601402[2, ]-8. 294300[3, ]-8. 699681[4, ]-8. 987322>#####># Start loop to fit> mu <- family$linkinv(eta)> mu_eta <- family$mu. eta(eta)> z <- drop(eta +(y - mu)/ mu_eta)> w <- drop(sqrt(weights * mu_eta^2/ family$variance(mu = mu)))># code is simpler here as (X^T W X) is a scalar> X_w <- X * w>(. coef <- drop(crossprod(X_w)^-1*((w * z)%*% X_w)))[1]-5. 098297>(eta <-. coef * X)[1, ]-5. 098297[2, ]-5. 098297[3, ]-5. 098297[4, ]-5. 098297># repeat a few times from "start loop to fit"
Możemy powtórzyć ostatnią część jeszcze dwa razy, aby zobaczyć, że metoda Newtona-Raphsona różni się:
Nie dzieje się tak, jeśli zaczniesz od weights <- 1:nrow(y)lub powiesz weights <- 1:nrow(y) * 100.
Zauważ, że można uniknąć rozbieżności, ustawiając mustartargument. Np
> glm(Y ~1, weights = w *1000, family = binomial, mustart = rep(0. 5, 4))Call: glm(formula = Y ~1, family = binomial, weights = w *1000, mustart = rep(0. 5, 4))NullDeviance:6502ResidualDeviance:6502 AIC:6504
Dodatek Microsoft Power Query zapewnia zaawansowane środowisko importowania danych, które obejmuje wiele funkcji. Dodatek Power Query współpracuje ze skoroszytami usługi Analysis Services, programu Excel i usługi Power BI. Podstawową możliwością dodatku Power Query jest filtrowanie i łączenie, czyli łączenie danych z jednej lub wielu bogatych kolekcji obsługiwanych źródeł danych. Każde takie łączenie danych jest wyrażane przy użyciu języka formuł Power Query M. Jest to funkcjonalny język z rozróżnianiem wielkości liter podobny do F#.
Jak odczytać szczegółową specyfikację komputera - wideoporadnik
Program Speccy, o którym mowa w poradniku, możecie pobrać z naszego działu download.
Speccy to darmowe narzędzie diagnostyczne wyświetlające informacje o podzespołach naszego peceta, stworzone przez autorów popularnego CCleanera. Aplikacja pokaże szczegółowe dane między innymi na temat procesora, płyty głównej, pamięci RAM, karty graficznej i muzycznej. Speccy informuje również o temperaturze rdzeni procesora oraz dysków twardych.
Przeczytaj także: Optymalizacja komputera z Windows
Specyfikacja części Funkcja Emerson Cf711ab01
Bezpośredni link do pobrania Specyfikacja części Funkcja Emerson Cf711ab01