What is the difference between GFS analysis and GFS forecast data?
I'm no expert at this, I've just been working with a variety of gfs gribs for a while now.  The only thing I know about them is what I've read and I'll cite them here.  I don't know where you got those files.  It looks like you're looking at the files that are sub areas, but in general the file format goes as shown more clearly on this website:

data/nccf/com/gfs/prod/gfs.YYYYMMDDHH/gfs.tHHz.formidffhour !GRIB_version/ncep/model/#000/YYYYMMDDHHNNFfff/parm/level! ######


Grid #004, 0.5x0.5 degree lat/lon grid, formid = pgrb2 (Hours F000-F180) GRIB_version=grib2 (grid number appears as #000)
Note: fhour: anl, f00, f06, f12....f384 (note: 2 or 3 digit fhour as on ftp server)
GRIB2 Note: "model date" and "forecast hour" fields are not separated by "/" 

I suggest you pull your files from here to start with.

The anl vs fxxx is the fxxx are intermediate simulation runs that often contain uninitialized data.


  Forecasts contain the same parameters as analysis AND accumulated forecast variables such as precipitation.  Analysis files, if they contain the forecast-only fields, set them to zero.  For instance, both FNL and GFS files obtained directly from NCEP, contain the CRAIN variable.  But, in the FNL file, all of the CRAIN fields will be zero.
  
  In summary, the FNL analysis incorporates ~10% more data than the GFS by waiting for ~3 hours longer for the data stragglers.  GFS forecasts contain accumulated fields, such as precipitation, that are missing or set to zero in the analysis fields. - link 


This analysis-forecast cycle is complex and iterative.  Here's a bit more detail.

And here is the current status in real time of models running.