Step Change Detection I am using a non linear least squares method to fit an analytical function to some experimental data. I have to provide some initial guess values to the algorithm, so I am trying to figure out how to do this automatically (rather than by eye, which is what I have been doing).
This is some simulated data, created by adding normally distributed random noise to the analytical function

I am trying reliably detect the position of this step change in the data. I have had some limited success by calculating the mean variance in the data points and looking for points in the data that differ significantly from this value, but this approach seems very limited by the signal to noise ratio.
I am hoping for some direction on what I need to look into to solve my problem, as I don't know much statistics at all.
Thank you!
-Edit paste bin link to xy data
http://pastebin.com/QTawFex3
 A: There may be some more sophisticated methods for this but here is my first thought. 
You basically want to take the derivative of the function and find where it is the largest. Numerically, you can  just take the difference between data points and find which two points have the biggest difference. Then the midpoint of the x-values for these two points is your location of biggest change. 
This simple method is susceptible to the noise. So you can first filter the data using a filter that does not shift the data to the right or left. If you use a simple FIR filter, then filter front to back and then filter the result from back to front. The result is a doubly filtered and NON shifted data set. Then follow the procedure above to find the point with the largest difference between values.
You can also use more sophisticated numerical differential calculations that use more then the difference of two points.
A: Your data visually suggests an asymptotic (gradual) change to the new level. Time series methods can often be used to detect these kinds of structures even if the data is not time series. Please post your data and I may be able to demonstrate this with "toys" at my disposal. If your data is time series then as @jason reflected one needs to deal effectively with the noise model to correctly "see" the structure.
EDITED UPON RECEIPT OF DATA:
Modelling is often an iterative approach with interim steps providing valuable clues to a useful model. I took your data and introduced it to AUTOBOX (one of my toys which I have helped develop). An initial graph  strongly suggested a longitudinal (chronological) data set where the X series is reported at fixed intervals. AUTOBOX automatically suggested a standard ARIMA model (with Intervention Detection) replacing the non-stationary X with a differencing operator. Here is the actual/fit/forecast graph and the suggested model. 
Upon examination another possible model incorporating a lag structure for an indicator variable suggested itself. I introduced a Pulse at time period 76 (a Dynamic Predictor expressly allowing up to a possible lag effect of 50 periods) (the beginning of the transition) to deal with the relationship between the original Y and the user-suggested X in order to more fully investigate the effect of X than accept the total setting-aside of X.
Following is the actual-fit-forecast graph for that approach and the identified robust transfer function model .  with residual plot  and residual acf here 
The final model captures the dynamics in certain lags of the Dynamic Predictor  and a few pulses and a reasonable memory structure.
Even the most powerful analysis packages often need some guidance when dealing with complex real world data sets like this one as nothing compares to the creative human mind.
A: One technique is to test all values of the x variable for the standard deviation of the data before and after it. For a true step function, the sum of those two will be minimal at the step location, and the minimum should be a good starting parameter for your nonlinear function.
Here is a plot of your original data (black), the standard deviation before x (blue), after x (red) and the sum of the last two (green).

A: I recognize that this question is old. But I wanted to throw another method out there. Canny wrote a paper (A Computational Approach to Edge Detection) where he solved this problem in the two dimensional case for edge detection in images. You can read the paper if you like, but to cut to the chase, you can get a very good approximation to the change point by doing the following:


*

*Perform the convolution of your signal with the derivative of the Gaussian.


$$
f(x) = \frac{-x}{\chi^2} e^{-\frac{x^2}{\sigma^2}} 
$$
where $\chi$ is a scaling factor.


*The peak of the response is where the change point occurs. 



In my experience with this method, I have found that choosing the correct scaling parameters is difficult. But there may be more work on this that I am not aware of. 
I have summarized Canny's paper and provided an example here. 
A: You may investigate Wavelet tranformed time-series using short period types haar/db4. 
I have no pointers but just some search terms, try 'wavelet change point detection'. 
There are several R packages on Wavelets, see time-series task view: https://cran.r-project.org/web/views/TimeSeries.html
Look here for some example: 
http://it.mathworks.com/help/wavelet/examples/detecting-discontinuities-and-breakdown-points.html?requestedDomain=www.mathworks.com
For theory look for Mallat et Hwang paper: "Singularity detection and processing with wavelets"
See related answer: Application of wavelets to time-series-based anomaly detection algorithms
