Factorial design analysis for dye-sensitized hydrogen generation from water