[R] How to estimate the parameter for many variable?
SITI AISYAH ZAKARIA
@|@y@hz@k@r|@ @end|ng |rom un|m@p@edu@my
Sat Jul 10 01:30:35 CEST 2021
Dear Rui and Jim,
Thank you very much for your feedback.
Yes, now I get the output. And after this I will use this output as the
marginal distribution to continue the analysis on spatial extremes.
Thanks again. See you later.
On Fri, 9 Jul 2021 at 17:18, Rui Barradas <ruipbarradas using sapo.pt> wrote:
> Hello,
>
> With the condition for the location it can be estimated like the following.
>
>
> fit_list2 <- gev_fit_list <- lapply(Ozone_weekly2, gev.fit, ydat = ti,
> mul = c(2, 3), show = FALSE)
> mle_params2 <- t(sapply(fit_list2, '[[', 'mle'))
> # assign column names
> colnames(mle_params2) <- c("location", "scale", "shape", "mul2", "mul3")
> head(mle_params2)
>
>
> Hope this helps,
>
> Rui Barradas
>
> Às 09:53 de 09/07/21, SITI AISYAH ZAKARIA escreveu:
> > Dear Rui ang Jim,
> >
> > Thank you very much.
> >
> > Thank you Rui Barradas, I already tried using your coding and I'm
> > grateful I got the answer.
> >
> > ok now, I have some condition on the location parameter which is cyclic
> > condition.
> >
> > So, I will add another 2 variables for the column.
> >
> > and the condition for location is this one.
> >
> > ti[,1] = seq(1, 888, 1)
> > ti[,2]=sin(2*pi*(ti[,1])/52)
> > ti[,3]=cos(2*pi*(ti[,1])/52)
> > fit0<-gev.fit(x[,i], ydat = ti, mul=c(2, 3))
> >
> > Thank you again.
> >
> > On Fri, 9 Jul 2021 at 14:38, Rui Barradas <ruipbarradas using sapo.pt
> > <mailto:ruipbarradas using sapo.pt>> wrote:
> >
> > Hello,
> >
> > The following lapply one-liner fits a GEV to each column vector,
> there
> > is no need for the double for loop. There's also no need to create a
> > data set x.
> >
> >
> > library(ismev)
> > library(mgcv)
> > library(EnvStats)
> >
> > Ozone_weekly2 <- read.table("~/tmp/Ozone_weekly2.txt", header = TRUE)
> >
> > # fit a GEV to each column
> > gev_fit_list <- lapply(Ozone_weekly2, gev.fit, show = FALSE)
> >
> > # extract the parameters MLE estimates
> > mle_params <- t(sapply(gev_fit_list, '[[', 'mle'))
> >
> > # assign column names
> > colnames(mle_params) <- c("location", "scale", "shape")
> >
> > # see first few rows
> > head(mle_params)
> >
> >
> >
> > The OP doesn't ask for plots but, here they go.
> >
> >
> > y_vals <- function(x, params){
> > loc <- params[1]
> > scale <- params[2]
> > shape <- params[3]
> > EnvStats::dgevd(x, loc, scale, shape)
> > }
> > plot_fit <- function(data, vec, verbose = FALSE){
> > fit <- gev.fit(data[[vec]], show = verbose)
> > x <- sort(data[[vec]])
> > hist(x, freq = FALSE)
> > lines(x, y_vals(x, params = fit$mle))
> > }
> >
> > # seems a good fit
> > plot_fit(Ozone_weekly2, 1) # column number
> > plot_fit(Ozone_weekly2, "CA01") # col name, equivalent
> >
> > # the data seems gaussian, not a good fit
> > plot_fit(Ozone_weekly2, 4) # column number
> > plot_fit(Ozone_weekly2, "CA08") # col name, equivalent
> >
> >
> >
> > Hope this helps,
> >
> > Rui Barradas
> >
> >
> > Às 00:59 de 09/07/21, SITI AISYAH ZAKARIA escreveu:
> > > Dear all,
> > >
> > > Thank you very much for the feedback.
> > >
> > > Sorry for the lack of information about this problem.
> > >
> > > Here, I explain again.
> > >
> > > I use this package to run my coding.
> > >
> > > library(ismev)
> > > library(mgcv)
> > > library(nlme)
> > >
> > > The purpose of this is I want to get the value of parameter
> > estimation
> > > using MLE by applying the GEV distribution.
> > >
> > > x <- data.matrix(Ozone_weekly2) x refers to
> > my data
> > > that consists of 19 variables. I will attach the data together.
> > > x
> > > head(gev.fit)[1:4]
> > > ti = matrix(ncol = 3, nrow = 888)
> > > ti[,1] = seq(1, 888, 1)
> > > ti[,2]=sin(2*pi*(ti[,1])/52)
> > > ti[,3]=cos(2*pi*(ti[,1])/52)
> > >
> > > /for(i in 1:nrow(x))
> > > + { for(j in 1:ncol(x)) the problem
> in
> > > here, i don't no to create the coding. i target my output will
> > come out
> > > in matrix that
> > > + {x[i,j] = 1}} show
> the
> > > parameter estimation for 19 variable which have 19 row and 3
> column/
> > > /
> > row --
> > > refer to variable (station) ; column -- refer to parameter
> > estimation
> > > for GEV distribution
> > >
> > > /thank you.
> > >
> > > On Thu, 8 Jul 2021 at 18:40, Rui Barradas <ruipbarradas using sapo.pt
> > <mailto:ruipbarradas using sapo.pt>
> > > <mailto:ruipbarradas using sapo.pt <mailto:ruipbarradas using sapo.pt>>>
> wrote:
> > >
> > > Hello,
> > >
> > > Also, in the code
> > >
> > > x <- data.matrix(Ozone_weekly)
> > >
> > > [...omited...]
> > >
> > > for(i in 1:nrow(x))
> > > + { for(j in 1:ncol(x))
> > > + {x[i,j] = 1}}
> > >
> > > not only you rewrite x but the double for loop is equivalent
> to
> > >
> > >
> > > x[] <- 1
> > >
> > >
> > > courtesy R's vectorised behavior. (The square parenthesis are
> > needed to
> > > keep the dimensions, the matrix form.)
> > > And, I'm not sure but isn't
> > >
> > > head(gev.fit)[1:4]
> > >
> > > equivalent to
> > >
> > > head(gev.fit, n = 4)
> > >
> > > ?
> > >
> > > Like Jim says, we need more information, can you post
> > Ozone_weekly2 and
> > > the code that produced gev.fit? But in the mean time you can
> > revise
> > > your
> > > code.
> > >
> > > Hope this helps,
> > >
> > > Rui Barradas
> > >
> > >
> > > Às 11:08 de 08/07/21, Jim Lemon escreveu:
> > > > Hi Siti,
> > > > I think we need a bit more information to respond
> helpfully. I
> > > have no
> > > > idea what "Ozone_weekly2" is and Google is also ignorant.
> > > "gev.fit" is
> > > > also unknown. The name suggests that it is the output of
> some
> > > > regression or similar. What function produced it, and from
> > what
> > > > library? "ti" is known as you have defined it. However, I
> > don't know
> > > > what you want to do with it. Finally, as this is a text
> > mailing list,
> > > > we don't get any highlighting, so the text to which you
> > refer cannot
> > > > be identified. I can see you have a problem, but cannot
> > offer any
> > > help
> > > > right now.
> > > >
> > > > Jim
> > > >
> > > > On Thu, Jul 8, 2021 at 12:06 AM SITI AISYAH ZAKARIA
> > > > <aisyahzakaria using unimap.edu.my
> > <mailto:aisyahzakaria using unimap.edu.my>
> > > <mailto:aisyahzakaria using unimap.edu.my
> > <mailto:aisyahzakaria using unimap.edu.my>>> wrote:
> > > >>
> > > >> Dear all,
> > > >>
> > > >> Can I ask something about programming in marginal
> > distribution
> > > for spatial
> > > >> extreme?
> > > >> I really stuck on my coding to obtain the parameter
> > estimation for
> > > >> univariate or marginal distribution for new model in
> spatial
> > > extreme.
> > > >>
> > > >> I want to run my data in order to get the parameter
> > estimation
> > > value for 25
> > > >> stations in one table. But I really didn't get the idea
> > of the
> > > correct
> > > >> coding. Here I attached my coding
> > > >>
> > > >> x <- data.matrix(Ozone_weekly2)
> > > >> x
> > > >> head(gev.fit)[1:4]
> > > >> ti = matrix(ncol = 3, nrow = 888)
> > > >> ti[,1] = seq(1, 888, 1)
> > > >> ti[,2]=sin(2*pi*(ti[,1])/52)
> > > >> ti[,3]=cos(2*pi*(ti[,1])/52)
> > > >> for(i in 1:nrow(x))
> > > >> + { for(j in 1:ncol(x))
> > > >> + {x[i,j] = 1}}
> > > >>
> > > >> My problem is highlighted in red color.
> > > >> And if are not hesitate to all. Can someone share with me
> the
> > > procedure,
> > > >> how can I map my data using spatial extreme.
> > > >> For example:
> > > >> After I finish my marginal distribution, what the next
> > > procedure. It is I
> > > >> need to get the spatial independent value.
> > > >>
> > > >> That's all
> > > >> Thank you.
> > > >>
> > > >> --
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> "..Millions of trees are used to make papers, only to be
> > thrown away
> > > >> after a couple of minutes reading from them. Our planet
> is at
> > > stake. Please
> > > >> be considerate. THINK TWICE BEFORE PRINTING THIS.."
> > > >>
> > > >> DISCLAIMER: This email \ and any files
> > transmitte...{{dropped:24}}
> > > >>
> > > >> ______________________________________________
> > > >> R-help using r-project.org <mailto:R-help using r-project.org>
> > <mailto:R-help using r-project.org <mailto:R-help using r-project.org>> mailing
> list
> > > -- To UNSUBSCRIBE and more, see
> > > >> https://stat.ethz.ch/mailman/listinfo/r-help
> > <https://stat.ethz.ch/mailman/listinfo/r-help>
> > > <https://stat.ethz.ch/mailman/listinfo/r-help
> > <https://stat.ethz.ch/mailman/listinfo/r-help>>
> > > >> PLEASE do read the posting guide
> > > http://www.R-project.org/posting-guide.html
> > <http://www.R-project.org/posting-guide.html>
> > > <http://www.R-project.org/posting-guide.html
> > <http://www.R-project.org/posting-guide.html>>
> > > >> and provide commented, minimal, self-contained,
> > reproducible code.
> > > >
> > > > ______________________________________________
> > > > R-help using r-project.org <mailto:R-help using r-project.org>
> > <mailto:R-help using r-project.org <mailto:R-help using r-project.org>> mailing
> list
> > > -- To UNSUBSCRIBE and more, see
> > > > https://stat.ethz.ch/mailman/listinfo/r-help
> > <https://stat.ethz.ch/mailman/listinfo/r-help>
> > > <https://stat.ethz.ch/mailman/listinfo/r-help
> > <https://stat.ethz.ch/mailman/listinfo/r-help>>
> > > > PLEASE do read the posting guide
> > > http://www.R-project.org/posting-guide.html
> > <http://www.R-project.org/posting-guide.html>
> > > <http://www.R-project.org/posting-guide.html
> > <http://www.R-project.org/posting-guide.html>>
> > > > and provide commented, minimal, self-contained,
> > reproducible code.
> > > >
> > >
> > >
> > >
> > > "..Millions of trees are used to make papers, only to be thrown
> away
> > > after a couple of minutes reading from them. Our planet is at
> stake.
> > > Please be considerate. THINK TWICE BEFORE PRINTING THIS.."
> > >
> > > *DISCLAIMER:* This email and any files transmitted with it are
> > > confidential and intended solely for the use of the individual
> > orentity
> > > to whom they are addressed. If you have received this email in
> error
> > > please notify the UniMAP's Email Administrator. Please note that
> any
> > > views or opinions presented in this email are solely those of the
> > author
> > > and do not necessarily represent those of the university.
> > Finally, the
> > > recipient should check this email and any attachments for the
> > presence
> > > of viruses.The university accepts no liability for any damage
> > caused by
> > > any virus transmitted by this email.
> > >
> > > Universiti Malaysia Perlis (UniMAP) | Digital Management &
> > Development
> > > Centre (DMDC), Universiti Malaysia Perlis (UniMAP), Pauh Putra
> > Campus,
> > > 02600 Arau, Perlis, MALAYSIA | www.unimap.edu.my
> > <http://www.unimap.edu.my> <http://www.unimap.edu.my/
> > <http://www.unimap.edu.my/>>
> > >
> >
> >
> >
> > "..Millions of trees are used to make papers, only to be thrown away
> > after a couple of minutes reading from them. Our planet is at stake.
> > Please be considerate. THINK TWICE BEFORE PRINTING THIS.."
> >
> > *DISCLAIMER:* This email and any files transmitted with it are
> > confidential and intended solely for the use of the individual orentity
> > to whom they are addressed. If you have received this email in error
> > please notify the UniMAP's Email Administrator. Please note that any
> > views or opinions presented in this email are solely those of the author
> > and do not necessarily represent those of the university. Finally, the
> > recipient should check this email and any attachments for the presence
> > of viruses.The university accepts no liability for any damage caused by
> > any virus transmitted by this email.
> >
> > Universiti Malaysia Perlis (UniMAP) | Digital Management & Development
> > Centre (DMDC), Universiti Malaysia Perlis (UniMAP), Pauh Putra Campus,
> > 02600 Arau, Perlis, MALAYSIA | www.unimap.edu.my <
> http://www.unimap.edu.my/>
> >
>
--
"..Millions of trees are used to make papers, only to be thrown away
after a couple of minutes reading from them. Our planet is at stake. Please
be considerate. THINK TWICE BEFORE PRINTING THIS.."
DISCLAIMER: This email \ and any files transmitte...{{dropped:24}}
More information about the R-help
mailing list