-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tutorial on Truncated Distribution for the Zero Flow #12
Comments
Will, How would I modify this to handle pplo? sw_lmom2q <- function(lmoms,FF){
moms <- vec2lmom(lmoms, lscale=FALSE)
par <- paraep4(moms, snap.tau4=TRUE)
if(is.null(par)){
Q <- NA
}else{
Q <- qlmomco(FF, par)
}
return(Q)
} "lmoms" is currently a vector of L1,T2,T3, and T4. pplo could either be appended to the lmom vector or passed in separately. This is my guess, sw_lmom2q <- function(lmoms,FF){
moms <- vec2lmom(lmoms, lscale=FALSE)
par <- paraep4(moms, snap.tau4=TRUE)
if(is.null(par)){
Q <- NA
}else{
Q <- qlmomco(f2flo(FF,pp=pplo),par)
}
return(Q)
} |
I had a tutorial issue written way back. The x2xlo Rd of lmomco has another
example I think. I think I have an example too embedded in restore-2018. I
am away from computer at the moment.
…-wha (iPhone)
On Feb 18, 2018, at 2:01 PM, Scott Worland <notifications@github.com> wrote:
Will,
How would I modify this to handle pplo?
sw_lmom2q <- function(lmoms,FF){
moms <- vec2lmom(lmoms, lscale=FALSE)
par <- paraep4(moms, snap.tau4=TRUE)
if(is.null(par)){
Q <- NA
}else{
Q <- qlmomco(FF, par)
}
return(Q)
}
"lmoms" is currently a vector of L1,T2,T3, and T4. pplo could either be
appended to the lmom vector or passed in separately.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#12 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AE5JQLPBngWzev_d3eXPnUEdiTC6PBFzks5tWIGOgaJpZM4RA94x>
.
|
No problem, I think I have figured it out. One other question. Which quantiles does the truncated function return? For example, the number of results vary based on the value of pplo. Because we are estimating 27 quantiles, is it the last x number of quantiles? Like number [2] above with 22 values, is that quantiles 5:27? If so, i would be safe to left pad everything with zeros to ensure that every value of FF has an associated quantile. |
Quantiles above the pplo. There is a probability remapping, which is why I
have the f2flo, flo2f, x2xlo functions in lmomco. I am hammered on a TxDOT
proposal today, yes holiday!
…-wha (iPhone)
On Feb 18, 2018, at 4:15 PM, Scott Worland <notifications@github.com> wrote:
No problem, I think I have figured it out. One other question. Which
quantiles does the truncated function return? For example,
[image: image]
<https://user-images.githubusercontent.com/11577981/36357646-fe890866-14ce-11e8-8d4a-eccad35c1da5.png>
the number of results vary based on the value of pplo. Because we are
estimating 27 quantiles, is it the last x number of quantiles? Like number
[2] above with 22 values, is that quantiles 5:27?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#12 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AE5JQMJbPQ6wiWCqvltmQVEw6HLxUcykks5tWKEKgaJpZM4RA94x>
.
|
library(lmomco)
08167000 Guadalupe River Comfort, 1950s
These are the L-moments of ***NONZERO*** flow.
lmr <- lmomco::vec2lmom(c(114.5072, 80.29483, 0.6901283, 0.5524655))
kap <- lmomco::lmom2par(lmr, type="kap") # estimate the kappa distribution
pplo <- 0.078 # probability of zero flow for the entire decade
FF <- seq(0.001,.999,by=.001) # convenience nonexceedance probabilities
To begin, naively plot the fitted distribution to the L-moments
plot(qnorm(FF), lmomco::qlmomco(FF, kap), type="l", log="y", xaxt="n",
xlab="", ylab="QUANTILE, CFS")
but this curve is wrong and over estimates the low end! So now we plot the
distribution
via a conditional probability offset or truncation. The key is in f2flo()
and the
transform (f - pp)/(1 - pp), which maps a [pplo, 1] interval into a [0,1]
for purposes of
computing the quantiles. For example, if the probability of zero flow is
0.078 as in this
example, then the first fitted quantile at 0.078+eps in the real world is
the 0th-percent
probability in the fitted distribution world. (The domain on which the
L-moments were
originally computed, which here means the nonzero flows.)
lines(qnorm( lmomco::f2f( FF, pp=pplo)),
qlmomco(lmomco::f2flo(FF, pp=pplo), kap), col=2, lwd=3)
add.lmomco.axis(las=2, tcl=0.5, side.type="NPP", npp.as.aep=TRUE) # x-axis
mtext("Probability of zeroflow is at 0.078, RED CURVE IS CORRECT, BLACK IS
WRONG")
William H. Asquith, Research Hydrologist
U.S. Geological Survey, Science Building MS-1053
Texas Tech University, Lubbock, Texas 79409
806-742-3129 work; 806-392-4148 cell
…On Sun, Feb 18, 2018 at 4:15 PM, Scott Worland ***@***.***> wrote:
No problem, I think I have figured it out. One other question. Which
quantiles does the truncated function return? For example,
[image: image]
<https://user-images.githubusercontent.com/11577981/36357646-fe890866-14ce-11e8-8d4a-eccad35c1da5.png>
the number of results vary based on the value of pplo. Because we are
estimating 27 quantiles, is it the last x number of quantiles? Like number
[2] above with 22 values, is that quantiles 5:27?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#12 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AE5JQMJbPQ6wiWCqvltmQVEw6HLxUcykks5tWKEKgaJpZM4RA94x>
.
|
restore-2018/scripts/Asquith/zeroflow_dist_tutorial.txt
library(lmomco)
08167000 Guadalupe River Comfort, 1950s
These are the L-moments of NONZERO flow.
To begin, naively plot the fitted distribution to the L-moments
but this curve is wrong and over estimates the low end! So now we plot the distribution via a conditional probability offset or truncation. The key is in f2flo() and the transform (f - pp)/(1 - pp), which maps a [pplo, 1] interval into a [0,1] for purposes of computing the quantiles. For example, if the probability of zero flow is 0.078 as in this example, then the first fitted quantile at 0.078+eps in the real work is the 0th probability in the fitted distribution world. (The domain on which the L-moments were computed.)
The text was updated successfully, but these errors were encountered: