How to model variables, where instead of values we observe intervals? Consider a case where instead of observing actual variable values, we are observing variable range. The possible range-values could be enumerated (i.e. could be a fixed set of values, for e.g. fixed age-group ranges) or could be observation specific (and might overlap). 
In the former case, the variable could be treated as an ordinal variable. (Based on @whuber's comments, treating this variable as an ordinal variable seems an unnecessary restriction). Is anything similar possible for the latter case? Are there any other methods to analyze such data?

I am interested in general treatment for analyzing interval data variables - as an output variable as well as an input variable to a model. Also, if there are any exploratory data analysis methods for such variables.
 A: In Stata, both cases can be handled with the interval regression command intreg, which is generalization of the Tobit. It can handle point, interval, or left/right censored data (or a mixture of them all). It does assume error term normality, but the log transformation can often work if your data require and permit it.
I am not sure if there are canned non-Stata implementations, but there are formulas and references at the end of the manual link. It is a fairly straight-forward likelihood function that should be fairly easy to maximize. There's also a nice comparison between the ordered probit approach and interval regression using the value of the log likelihood for the first case scenario. 
Here's a very simple simulation with $N=5000, Y=\alpha + \beta \cdot X + \varepsilon =\frac{1}{2} + 1 \cdot X + \mathcal{N}[0,1]$:
#delimit;
clear all;

set seed 10011979;
set obs 5000;

gen x = rnormal();
gen ystar = 0.5 + 1*x + rnormal();
gen ylb = ystar - int((5-1)*runiform());
gen yub = ystar + int((5-1)*runiform());

intreg ylb yub x;

Every observation has a variable interval constructed by adding/subtracting a random uniform number to the true value, so the intervals may overlap. The data basically looks like this:

As you can see, 2 observations are uncensored (i.e., point data). 
The output is:
Interval regression                               Number of obs   =    5000
                                                  LR chi2(1)      =    2102.49 
Log likelihood = -3580.5326                       Prob > chi2     =     0.0000


------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           x |    .979912   .0192016    51.03   0.000     .9422775    1.017546
       _cons |   .4757097   .0190327    24.99   0.000     .4384063    .5130131
-------------+----------------------------------------------------------------
    /lnsigma |   .0336532   .0143186     2.35   0.019     .0055893    .0617171
-------------+----------------------------------------------------------------
       sigma |   1.034226   .0148086                      1.005605    1.063661
------------------------------------------------------------------------------

  Observation summary:         0  left-censored observations
                             326     uncensored observations
                               0 right-censored observations
                            4674       interval observations

It seems like all the parameters, including the standard deviation of the error, are fairly close to the true values.
A: You are looking for interval regression: In R you can use the survival package as explained  here
Or you can try with the intReg package using the intReg function
