...

PDF

by user

on
Category: Documents
7

views

Report

Comments

Description

Transcript

PDF
The Stata Journal (2008)
8, Number 4, pp. 480–492
The Blinder–Oaxaca decomposition for
nonlinear regression models
RSSS
Mathias Sinning
at the Australian National University, and IZA
Canberra, Australia
[email protected]
Markus Hahn
Melbourne Institute of Applied Economic and Social Research
The University of Melbourne
Melbourne, Australia
[email protected]
RWI
Thomas K. Bauer
Essen, Ruhr-Universität Bochum, and IZA
Bochum, Germany
[email protected]
Abstract.
In this article, a general Blinder–Oaxaca decomposition for nonlinear models is derived, which allows the difference in an outcome variable between two groups to be decomposed into several components. We show how,
using nldecompose, this general decomposition can be applied to different models
with discrete and limited dependent variables. We further demonstrate how the
standard errors of the estimated components can be calculated by using Stata’s
bootstrap command as a prefix.
Keywords: st0152, nldecompose, Blinder–Oaxaca decomposition, nonlinear models
1
Introduction
The decomposition method developed by Blinder (1973) and Oaxaca (1973), and generalized by Neumark (1988) and Oaxaca and Ransom (1988, 1994), allows the decomposition of outcome variables between two groups into a part that is explained by
differences in observed characteristics and a part attributable to differences in the estimated coefficients. So far, these decomposition methods have mainly been applied in
the context of linear regression models. Often the estimation of nonlinear models is
required because ordinary least squares (OLS) yields inconsistent parameter estimates
and, in turn, misleading decomposition results. Several studies have developed and
applied Blinder–Oaxaca decompositions for models with binary dependent variables
(Gomulka and Stern 1990; Even and Macpherson 1990; Yun 2004; Fairlie 1999, 2005).
An extension of the Blinder–Oaxaca decomposition to nonlinear regression models was
c 2008 StataCorp LP
st0152
M. Sinning, M. Hahn, and T. K. Bauer
481
developed by Bauer and Sinning (2008). Following their approach, this article describes
how the Blinder–Oaxaca decomposition method can be applied to models with discrete
and limited dependent variables by using nldecompose.
The nldecompose command performs a Blinder–Oaxaca decomposition of the mean
outcome differential of linear and nonlinear regression models. regress, logit, probit,
ologit, oprobit, tobit, intreg, truncreg, poisson, nbreg, zip, zinb, ztp, and
ztnb are supported. nldecompose calculates different variants of the decomposition
equation. However, the command does not separate the contributions of single variables.
If desired, the svy: prefix can be used. Finally, standard errors of the components
of the decomposition equation can be estimated by using the bootstrap option of
nldecompose. Other available decomposition packages are decompose, fairlie, and
oaxaca, by Ben Jann; decomp, by Ian Watson; and gdecomp, by Tamás Bartus.
The following section sets out the theoretical framework of the Blinder–Oaxaca
decomposition for linear and nonlinear models, taking into account extensions of the
original decomposition method that have been applied in the literature. The syntax
of nldecompose is described in section 3. Section 4 illustrates the application of the
decomposition method to different models with discrete and limited dependent variables.
Section 5 summarizes and concludes the article.
2
Framework
Consider the following linear regression model, which is fitted separately for the groups
g = (A, B):
Yig = Xig βg + εig
where i = 1, . . . , Ng and g Ng = N . For these models, Blinder (1973) and Oaxaca
(1973) propose the decomposition
Y A − Y B = ΔOLS = (XA − XB )βA + XB (βA − βB )
(1)
Ng
Ng
where Y g = Ng−1 i=1
Yig and Xg = Ng−1 i=1
Xig . The first term on the righthand side of (1) displays the difference in the outcome variable between the two groups
that is due to differences in observable characteristics, whereas the second term shows
the differential that is due to differences in coefficient estimates. Ben Jann provides a
detailed discussion of the estimation of the Blinder–Oaxaca decomposition for linear
regression models in this issue of the Stata Journal.
A decomposition of the outcome variable similar to (1) is not appropriate in the
nonlinear (NL) case, because the conditional expectations, E(Yig | Xig ), may differ from
Xg βg . Therefore, we rewrite (1) in terms of conditional expectations to obtain a general
version of the Blinder–Oaxaca decomposition:
ΔNL
A = {EβA (YiA | XiA ) − EβA (YiB | XiB )} + {EβA (YiB | XiB ) − EβB (YiB | XiB )} (2)
where Eβg (Yig | Xig ) refers to the conditional expectation of Yig , and Eβg (Yih | Xih )
refers to the conditional expectation of Yih evaluated at the parameter vector βg , with
482
The Blinder–Oaxaca decomposition for nonlinear regression models
g, h = (A, B) and g = h. Changing the reference group, an alternative expression for
the decomposition is
ΔNL
B = {EβB (YiA | XiA ) − EβB (YiB | XiB )} + {EβA (YiA | XiA ) − EβB (YiA | XiA )} (3)
Again the first term on the right-hand side displays the part of the differential in the
outcome variable between the two groups that is due to differences in the covariates Xig ,
and the second term displays the part of the differential in Yig that is due to differences
in coefficients.
Oaxaca and Ransom (1994) give an overview of the application of the following
generalized linear decomposition:
Y A − Y B = (XA − XB )β ∗ + XA (βA − β ∗ ) + XB (β ∗ − βB )
(4)
In (4), β ∗ is defined as a weighted average of the coefficient vectors, βA and βB :
β ∗ = ΩβA + (I − Ω)βB
where Ω is a weighting matrix and I is an identity matrix. Decompositions (2) and (3),
which were proposed by Blinder (1973) and Oaxaca (1973), represent special cases of
the generalized equation in which Ω is a null matrix or is equal to I, respectively. The
generalized version of (4) can be written as
YA−YB
= {Eβ ∗ (YiA | XiA ) − Eβ ∗ (YiB | XiB )}
+ {EβA (YiA | XiA ) − Eβ ∗ (YiA | XiA )}
+ {Eβ ∗ (YiB | XiB ) − EβB (YiB | XiB )}
Different assumptions about the form of Ω can be considered. Reimers (1983) and
Cotton (1988) treat Ω as a scalar matrix. Reimers (1983) proposes the weighting matrix
Ω = (0.5)I, while Cotton (1988) chooses the weighting matrix Ω = sI, where s denotes
the relative sample size of the majority group. In the context of a linear regression
model, Neumark (1988) and Oaxaca and Ransom (1994) propose to estimate a pooled
model to derive the counterfactual coefficient vector, β ∗ .
To apply (4) to different nonlinear models, one needs to derive the sample counterparts—S(βg , Xig ), S(βh , Xig ), and S(β∗ , Xig )—of the conditional expectations—
Eβg (Yig | Xig ), Eβh (Yig | Xig ), and Eβ ∗ (Yig | Xig )—for g, h = (A, B) and g = h.1 The
decomposition of nonlinear models shares all problems of the original Blinder–Oaxaca
decomposition, such as, e.g., a potential sensitivity of the results with respect to the
choice of the reference group and the specification of the regression model.
Finally, Daymont and Andrisani (1984) proposed the following extension of the
Blinder–Oaxaca decomposition:
PNg
1. For example, the sample counterpart S(βbg , Xig ) in a probit model is given by Ng−1 i=1
b
Φ(βg , Xig ), where Φ(·) is the cumulative normal density function. Bauer and Sinning (2008) provide an overview of sample counterparts in nonlinear models.
M. Sinning, M. Hahn, and T. K. Bauer
483
Y A − Y B = (XA − XB )βB + XB (βA − βB ) + (XA − XB )(βA − βB ) = E + C + CE (5)
where E is the part of the raw differential that is due to differences in endowments, C
reflects the part attributable to differences in coefficients, and CE represents the part
that can be explained by the interaction between C and E. In the general version of
the decomposition, these components are given by the following:
E = {EβB (YiA | XiA ) − EβB (YiB | XiB )}
C = {EβA (YiB | XiB ) − EβB (YiB | XiB )}
CE = {EβA (YiA | XiA ) − EβB (YiA | XiA )} + {EβA (YiB | XiB ) − EβB (YiB | XiB )}
Similarly to (4), the single components of (5) can be estimated by using the sample
counterparts S(βg | Xig ) and S(βh | Xig ) of the conditional expectations Eβg (Yig | Xig )
and Eβh (Yig | Xig ) for g, h = (A, B) and g = h.
Table 1 presents examples for the sample counterpart S(βg , Xig ) of a group g =
(A, B). Bauer and Sinning (2008) provide a more detailed description of these sample
counterparts and also discuss the Blinder–Oaxaca decomposition and the corresponding
sample counterparts of count-data models and limited dependent variable models.
(Continued on next page)
484
The Blinder–Oaxaca decomposition for nonlinear regression models
Table 1. Examples for the sample counterpart
Command
regress
logit
probit
ologit
oprobit
Sample counterpart
N
1
i=1 Xig βg
Ng
N
1
i=1 Λ(Xig βg ), where Λ is the cumulative logistic density
Ng
function
N
1
i=1 Φ(Xig βg ), where Φ is the cumulative normal density
Ng
function
N
1
[{Λ(
μ1 − Xig βg ) − Λ(−Xig βg )}
Ng
i=1
Ng
i=1
+ 2{Λ(
μ2 − Xig βg ) − Λ(
μ1 − Xig βg )} + · · · +
J{1 − Λ(
μJ−1 − Xig βg )}], where J is the number of possible
J−1 are the estimated threshold values
outcomes and μ
1 , . . . , μ
of ologit
N
1
[{Φ(θ1 − Xig βg ) − Φ(−Xig βg )}
+ 2{Φ(θ2 − Xig βg ) − Φ(θ1 − Xig βg )} + · · · +
J{1 − Φ(θJ−1 − Xig βg )}], where J is the number of possible
outcomes, and θ1 , . . . , θJ−1 are the estimated threshold values
of oprobit
3
The syntax of nldecompose
nldecompose is a prefix command, which means that it stands in front of the relevant
regression command. nldecompose requires Stata 10 or higher. A simplified syntax
reads as follows:
nldecompose, by(varname)
options : regcmd
where by(varname) specifies the groups for which the difference in the outcome variable
should be analyzed. varname should be defined as an indicator variable that takes on
a value of 1 for the group with the higher outcome (group A) and a value of 0 for
the group with the lower outcome (group B). by(varname) is required. regcmd is the
command of the regression model to be decomposed. If desired, the svy: prefix can be
used. nldecompose supports the following Stata commands: regress, logit, probit,
ologit, oprobit, tobit, intreg, truncreg, poisson, nbreg, zip, zinb, ztp, and ztnb.
M. Sinning, M. Hahn, and T. K. Bauer
3.1
485
Syntax
nldecompose, by(varname)
threefold omega(#
, #, . . . | omega option)
regoutput bootstrap bs bsoptions(bootstrap options) ll(# | varname)
ul(# | varname) : regcmd
3.2
Options
by(varname) specifies the sample of the high group (A) and the low group (B). varname
should be defined as a dummy variable that takes on a value of 1 for the group with
the higher outcome and a value of 0 for the group with the lower outcome. by() is
required.
threefold performs a decomposition into three components (as described in Daymont
and Andrisani [1984]).
omega(# , #, ... | omega option) represents the general weighting matrix as specified by Oaxaca and Ransom (1994). omega() can either contain a scalar weight or
a vector including the weights w1 , . . . , wk on the diagonal of the weighting matrix,
where k corresponds to the number of coefficients in the model. omega option can
be reimers, cotton, or neumark, referring to the corresponding weighting schemes
proposed by Reimers (1983), Cotton (1988), and Neumark (1988).
regoutput displays the respective outputs of the two regressions.
bootstrap calculates bootstrap standard errors and confidence intervals.
bs is an alias for bootstrap.
bsoptions(bootstrap options) specifies options of the internal bootstrap routine.
bsoptions() shares all the options of Stata’s bootstrap command (see help
bootstrap). It can be used only in combination with the internal bootstrap option
of nldecompose.
ll(# | varname) specifies the lower limit of the outcome variable. This option can
include either a scalar or a variable. ll() can be used only with intreg. ll() or
ul() (or both) is required if intreg is used.
ul(# | varname) specifies the upper limit of the outcome variable. This option can
include either a scalar or a variable. ul() can be used only with intreg. ul() or
ll() (or both) is required if intreg is used.
(Continued on next page)
486
The Blinder–Oaxaca decomposition for nonlinear regression models
3.3
Saved results
nldecompose saves the results into r(). Some results are only available in combination
with certain options or regression commands. “AB” indicates a result based on the
coefficients of the high group (A) and the characteristics of the low group (B); “BA”
indicates a result based on the coefficients of the low group (B) and the characteristics
of the high group (A).
Scalars
r(raw)
r(charAB)
r(coefAB)
r(intAB)
r(pcharAB)
r(pcoefAB)
r(pintAB)
r(charBA)
r(coefBA)
r(intBA)
r(pcharBA)
r(pcoefBA)
r(pintBA)
r(prod)
r(adv)
r(disadv)
r(pprod)
r(padv)
r(pdisadv)
r(obsA)
r(obsB)
r(N reps)
r(level)
r(wgt)
Macros
r(regcmd)
Matrices
r(bootstrap)
r(wgt)
4
raw differential
part of raw differential attributable to differences in characteristics (AB)
part of raw differential attributable to differences in coefficients (AB)
part of raw differential attributable to interaction between charAB and coefAB
(if threefold is specified)
charAB/raw
coefAB/raw
intAB/raw (if threefold is specified)
part of raw differential attributable to differences in characteristics (BA)
part of raw differential attributable to differences in coefficients (BA)
part of raw differential attributable to interaction between charBA and coefBA
(if threefold is specified)
charBA/raw
coefBA/raw
intBA/raw (if threefold is specified)
part of raw differential attributable to productivity (if omega() is specified)
part of raw differential attributable to advantage of the high group
(if omega() is specified)
part of raw differential attributable to disadvantage of the low group
(if omega() is specified)
prod/raw (if omega() is specified)
adv/raw (if omega() is specified)
disadv/raw (if omega() is specified)
number of observations for group A
number of observations for group B
number of bootstrap replications (if bootstrap is specified)
confidence level in percent (if bootstrap is specified)
singular weight (if omega() is specified as a number or scalar)
regression command
matrix with coefficients, standard errors, z-values, p-values, and confidence
intervals (if bootstrap is specified)
weighting (omega) matrix (if omega() is specified as a vector)
Examples
In this section, we use a test dataset called nldecompose.dta to illustrate the use of
the nldecompose command. The data file is available together with nldecompose.ado.
If the test dataset is located in the current directory, it can be opened with
. use nldecompose
(Test data for nldecompose.ado)
M. Sinning, M. Hahn, and T. K. Bauer
4.1
487
Basic syntax
Suppose that we want to decompose the outcome differential between two groups by
using a linear regression model. nldecompose requires a variable (group indicator)
indicating membership to the group with the higher outcome (group indicator = 1)
or the group with the lower outcome (group indicator = 0). The group indicator in
nldecompose.dta is named group. nldecompose further requires the specification of a
regression model to be decomposed. The test data include several outcome variables as
well as a set of covariates to be used for the respective regression models. To obtain
estimates of the Blinder–Oaxaca decomposition in the linear case, we type
. nldecompose, by(group): regress y_regress x1 x2 x3
Number of obs (A) =
Number of obs (B) =
Results
Coef.
Percentage
Omega = 1
Char
Coef
.0118193
.909411
1.282994%
98.71701%
Omega = 0
Char
Coef
.0385519
.8826784
4.184829%
95.81517%
Raw
.9212303
100%
773
971
The decomposition results given in the above output table denote the absolute values of the components of the decomposition equation (i.e., differences in characteristics,
Char; differences in coefficients, Coef; and the raw differential, Raw) and the corresponding percentages of the raw differential. nldecompose reports the Blinder–Oaxaca
decomposition estimates for Omega = 1 and Omega = 0, which refer to different specifications of the omega matrix (see section 2). These two weighting schemes are given
by default in every output table. An additional scheme can be specified by using the
omega() option. This option can either include a numeric value (which is transformed
into a scalar matrix), a matrix, or an option name. For instance, to apply the weighting
scheme proposed by Neumark (1988), we type
(Continued on next page)
488
The Blinder–Oaxaca decomposition for nonlinear regression models
. nldecompose, by(group) omega(neumark): logit y_logit x1 x2 x3
Number of obs (A) =
Number of obs (B) =
Results
Coef.
Percentage
Omega = 1
Char
Coef
-.0130632
.2469787
-5.584561%
105.5846%
Omega = 0
Char
Coef
.0482973
.1856182
20.64731%
79.35269%
Omega = wgt
Prod
Adv
Disadv
.0084567
.1255278
.099931
3.615265%
53.66375%
42.72099%
Raw
.2339155
100%
773
971
A third part is now added to the output table, including the components of the
decomposition proposed by Oaxaca and Ransom (1994): differences due to a different
productivity, Prod; advantage of the high group, Adv; and disadvantage of the low
group, Disadv. The part of the differential attributable to different characteristics is
negative for Omega = 1 in the above example, indicating that observable characteristics contribute to reducing the gap between the two groups. This is typically the
case if the group with the lower outcome possesses a relative advantage in one or more
observable characteristics. Finally, the threefold option of nldecompose allows a decomposition of the mean differential of the outcome variables into three components
(Daymont and Andrisani 1984). The third component reported in the following output
table denotes the interaction term, Int, presented in (5):
. nldecompose, by(group) threefold: tobit y_tobit x1 x2 x3, ll(0)
Number of obs (A) =
Number of obs (B) =
Results
Coef.
Percentage
Omega = 1
Char
Coef
Int
.469702
.0705736
-.0314904
92.31832%
13.871%
-6.189324%
Omega = 0
Char
Coef
Int
.4382117
.0390832
.0314904
86.129%
7.681677%
6.189324%
Raw
.5087853
100%
773
971
M. Sinning, M. Hahn, and T. K. Bauer
489
The lower and upper limits, specified as an option of the tobit command, are
retrieved automatically by nldecompose. However, because the intreg command also
permits the use of variables that include lower limits, upper limits, or both for each
observation (see help intreg), these limits must be specified as additional options if
intreg is used:
. nldecompose_old, by(group) ll(lowerlimit) ul(1000): intreg y_intreg1
> y_intreg 2 x1 x2 x3
Number of obs (A) =
Number of obs (B) =
4.2
Results
Coef.
Percentage
Omega = 1
Char
Coef
.0459277
.8743578
4.990594%
95.00941%
Omega = 0
Char
Coef
.1678028
.7524828
18.23377%
81.76623%
Raw
.9202855
100%
773
971
Bootstrap
Although nldecompose does not provide analytic standard errors, the bootstrap method
can be applied to derive standard errors of the components of the decomposition equation. In addition to Stata’s bootstrap command, the bootstrap option of nldecompose
can be used. The following table includes the estimates of the Blinder–Oaxaca decomposition for a Poisson model and their standard errors, z-values, p-values, and confidence
intervals.
. nldecompose, by(group) bootstrap bsoptions(reps(50) seed(553721)):
> y_poisson x1 x2 x3
Number of obs (A)
Number of obs (B)
BS Replications
Results
Coef.
Std. Err.
Omega = 1
Char
Coef
-.0019096
.0130316
.0140652
.1915354
Omega = 0
Char
Coef
.0489932
-.0378711
Raw
.011122
z
poisson
=
=
=
773
971
50
P>|z|
[95% Conf. Interval]
-0.14
0.07
0.892
0.946
-.0294769
-.3623708
.0256577
.3884341
.0547485
.2042228
0.89
-0.19
0.371
0.853
-.058312
-.4381404
.1562983
.3623981
.1886442
0.06
0.953
-.3586138
.3808579
490
The Blinder–Oaxaca decomposition for nonlinear regression models
Although nldecompose has the built-in support of bootstrap, it is possible to bootstrap the results of nldecompose by using Stata’s bootstrap command as a prefix.
Here an alternative syntax is required:
bootstrap
options : nldecompose, by(varname) options regcmd(regcmd)
This syntax can be used to obtain the same estimates as above:
. bootstrap charAB=r(charAB) coefAB=r(coefAB) charBA=r(charBA) coefBA=r(coefBA)
> raw=r(raw), reps(50) seed(553721) nowarn: nldecompose, by(group)
> regcmd(poisson y_poisson x1 x2 x3)
(running nldecompose on estimation sample)
Bootstrap replications (50)
1
2
3
4
5
..................................................
50
Bootstrap results
command:
charAB:
coefAB:
charBA:
coefBA:
raw:
charAB
coefAB
charBA
coefBA
raw
5
Number of obs
=
1744
Replications
=
50
nldecompose, by(group) regcmd(poisson y_poisson x1 x2 x3)
r(charAB)
r(coefAB)
r(charBA)
r(coefBA)
r(raw)
Observed
Coef.
Bootstrap
Std. Err.
-.0019096
.0130316
.0489932
-.0378711
.011122
.0140652
.1915354
.0547485
.2042228
.1886442
z
-0.14
0.07
0.89
-0.19
0.06
P>|z|
0.892
0.946
0.371
0.853
0.953
Normal-based
[95% Conf. Interval]
-.0294769
-.3623708
-.058312
-.4381404
-.3586138
.0256577
.3884341
.1562983
.3623981
.3808579
Summary
In this article, a general Blinder–Oaxaca decomposition for linear and nonlinear models
was derived, which allows the differences in an outcome variable between two groups
to be decomposed into several components. We showed how this general decomposition can be applied to different models with discrete and limited dependent variables
by using nldecompose. We further demonstrated how the standard errors of the estimated components can be calculated by using the bootstrap command. Because the
article focuses on overall decompositions without separating the contributions of single
variables, future work will concentrate on detailed decompositions.
The Blinder–Oaxaca decomposition for the tobit model has been applied empirically
by Bauer and Sinning (Forthcoming-a, -b). Bauer, Göhlmann, and Sinning (2007)
provide an application of the Blinder–Oaxaca decomposition to count-data models.
M. Sinning, M. Hahn, and T. K. Bauer
6
491
Acknowledgments
The authors are grateful to two anonymous reviewers for their helpful comments.
7
References
Bauer, T., S. Göhlmann, and M. Sinning. 2007. Gender differences in smoking behavior.
Health Economics 16: 895–909.
Bauer, T. K., and M. Sinning. 2008. An extension of the Blinder–Oaxaca decomposition
to nonlinear models. Advances in Statistical Analysis 92: 197–206.
———. Forthcoming-a. Blinder–Oaxaca decomposition for tobit models. Applied Economics.
———. Forthcoming-b. The savings behavior of temporary and permanent migrants in
Germany. Journal of Population Economics.
Blinder, A. S. 1973. Wage discimination: Reduced form and structural estimates. Journal of Human Resources 8: 436–455.
Cotton, J. 1988. On the decomposition of wage differentials. Review of Economics and
Statistics 70: 236–243.
Daymont, T. N., and P. J. Andrisani. 1984. Job preferences, college major, and the
gender gap in earnings. Journal of Human Resources 19: 408–428.
Even, W. E., and D. A. Macpherson. 1990. Plant size and the decline of unionism.
Economics Letters 32: 393–398.
Fairlie, R. W. 1999. The absence of the African-American owned business: An analysis
of the dynamics of self-employment. Journal of Labor Economics 17: 80–108.
———. 2005. An extension of the Blinder–Oaxaca decomposition technique to logit
and probit models. Journal of Economic and Social Measurement 30: 305–316.
Gomulka, J., and N. Stern. 1990. The employment of married women in the United
Kingdom, 1970–1983. Econometrica 57: 171–199.
Jann, B. 2008. The Blinder–Oaxaca decomposition for linear regression models. Stata
Journal 8: 453–479.
Neumark, D. 1988. Employers’ discriminatory behavior and the estimation of wage
discrimination. Journal of Human Resources 23: 279–295.
Oaxaca, R. 1973. Male–female wage differentials in urban labor markets. International
Economic Review 14: 693–709.
Oaxaca, R. L., and M. R. Ransom. 1988. Searching for the effect of unionism on the
wages of union and nonunion workers. Journal of Labor Research 9: 139–148.
492
The Blinder–Oaxaca decomposition for nonlinear regression models
———. 1994. On discrimination and the decomposition of wage differentials. Journal
of Econometrics 61: 5–21.
Reimers, C. W. 1983. Labor market discrimination against Hispanic and black men.
Review of Economics and Statistics 65: 570–579.
Yun, M.-S. 2004. Decomposing differences in the first moment. Economics Letters 82:
275–280.
About the authors
Mathias Sinning is a research fellow at the Social Policy Evaluation, Analysis, and Research
Centre of the Australian National University.
Markus Hahn is a research officer at the Melbourne Institute of Applied Economic and Social
Research, University of Melbourne.
Thomas K. Bauer is a member of the executive board of RWI Essen and a full professor of
economics at the Ruhr-Universität Bochum.
Fly UP