Esempio n. 1
0
def runHighDimAnalysis(data,
                       objHeaders=None,
                       saveFigsPrepend=None,
                       freqsToKeep=None,
                       displayFigs=True):
    """
    standard set of plots generated for 2-objective problems
    :param data: designs to plot. each row is a design and each column is an objective
    :param saveFigsPrepend: a prepend name for saving figures generated. None (default) prevents automatic saving.
    """
    if objHeaders is None:
        objHeaders = list(map(lambda n: 'obj: ' + str(n),
                              range(data.shape[1])))
    mp = lowDimMeanPlane(data)  # create the mean plane

    # runShowSaveClose(ft.partial(plotLogTradeRatios,mp,objHeaders),saveFigsPrepend+'_tradeRatios.png',displayFig=displayFigs)

    if freqsToKeep is None:
        freqsToKeep = 2**data.shape[1]
    fa = rbfSummarizerAnalyzer.fromMeanPlane(mp, freqsToKeep)
    if displayFigs:
        fa.report()
    if saveFigsPrepend is not None:
        fa.report(saveFigsPrepend + '_report.csv')

    runShowSaveClose(fa.rbfWeightPlot,
                     saveFigsPrepend + '_powerDeclinePlot.png',
                     displayFig=displayFigs)
Esempio n. 2
0
def run2danalysis(data,
                  objHeaders=None,
                  saveFigsPrepend=None,
                  freqsToKeep=None,
                  displayFigs=True,
                  isMaxObj=None):
    """

    standard set of plots generated for 2-objective problems
    :param data: designs to plot. each row is a design and each column is an objective
    :param saveFigsPrepend: a prepend name for saving figures generated. None (default) prevents automatic saving.
    """
    if objHeaders is None:
        objHeaders = list(map(lambda n: 'obj: ' + str(n),
                              range(data.shape[1])))
    mp = lowDimMeanPlane(data)  # create the mean plane

    if saveFigsPrepend is not None:
        mps = saveFigsPrepend + '_meanPlane.png'
        trs = saveFigsPrepend + '_tradeRatios.png'
        spts = saveFigsPrepend + '_spectralPower_legendre.png'
        rts = saveFigsPrepend + '_reverseTransform.png'
        pdr = saveFigsPrepend + '_powerDeclineReport.png'
    else:
        mps = None
        trs = None
        spts = None
        rts = None
        pdr = None

    runShowSaveClose(mp.draw2dMeanPlane, mps, displayFig=displayFigs)

    fa = rbfSummarizerAnalyzer.fromMeanPlane(mp, freqsToKeep)
    if displayFigs:
        fa.report()
    if saveFigsPrepend is not None:
        fa.report(saveFigsPrepend + '_report.csv')

    # maybe use a scatterplot?
    # runShowSaveClose(ft.partial(spectral1dPowerPlot_nonFFT,fa),spts,displayFig=displayFigs)
    runShowSaveClose(fa.rbfWeightPlot, pdr, displayFig=displayFigs)

    runShowSaveClose(ft.partial(rbfApproximationPlot2d, mp, fa, objHeaders),
                     saveFigsPrepend + '_reverseTransform.png',
                     displayFig=displayFigs)
    # runShowSaveClose(ft.partial(plotTradeRatios,mp,fa,objHeaders),saveFigsPrepend+'_tradeoffPlot.png',displayFig=displayFigs)
    return (mp, fa)
Esempio n. 3
0
def run2danalysis(data,objHeaders=None,saveFigsPrepend=None,freqsToKeep=2, displayFigs=True, isMaxObj=None):
    """

    standard set of plots generated for 2-objective problems
    :param data: designs to plot. each row is a design and each column is an objective
    :param saveFigsPrepend: a prepend name for saving figures generated. None (default) prevents automatic saving.
    """
    if objHeaders is None:
        objHeaders=list(map(lambda n: 'obj: '+str(n),range(data.shape[1])))
    mp=lmp.lowDimMeanPlane(data) # create the mean plane

    runShowSaveClose(mp.draw2dMeanPlane,saveFigsPrepend+'_meanPlane.png',displayFig=displayFigs)
    runShowSaveClose(ft.partial(plotLogTradeRatios,mp,objHeaders),saveFigsPrepend+'_tradeRatios.png',displayFig=displayFigs)

    fa=FourierSummarizerAnalyzer.fromMeanPlane(mp,freqsToKeep)
    if displayFigs:
        fa.report()
    if saveFigsPrepend is not None:
        fa.report(saveFigsPrepend+'_report.csv')

    runShowSaveClose(ft.partial(spectral1dPowerPlot,fa),saveFigsPrepend+'_spectralPower.png',displayFig=displayFigs)
    runShowSaveClose(ft.partial(spectral1dPhasePlot,fa),saveFigsPrepend+'_spectralPhase.png',displayFig=displayFigs)

    plt.figure()
    spectralPower=np.abs(np.fft.fftshift(fa.trueSpectrum()))**2
    plt.plot(np.fft.fftshift(fa.fftFreqs),spectralPower,'k.-')
    # axis_font={'size':'28'}
    # plt.xlabel('frequency',**axis_font)
    # plt.ylabel('square power',**axis_font)
    plt.xlabel('frequency')
    plt.ylabel('square power')
    if saveFigsPrepend is not None:
        plt.savefig(saveFigsPrepend+'_trueSpectralPower.png',bbox_inches='tight')
    plt.show()
    if not displayFigs:
        plt.close('all')

    runShowSaveClose(ft.partial(approximationPlot2d,mp,fa,objHeaders),saveFigsPrepend+'_reverseTransform.png',displayFig=displayFigs)
    runShowSaveClose(ft.partial(plotTradeRatios,mp,fa,objHeaders),saveFigsPrepend+'_tradeoffPlot.png',displayFig=displayFigs)
    return (mp,fa)
Esempio n. 4
0
def run3danalysis(data,objHeaders=None,saveFigsPrepend=None,freqsToKeep=3**2,displayFigs=True):
    """
    standard set of plots generated for 2-objective problems
    :param data: designs to plot. each row is a design and each column is an objective
    :param saveFigsPrepend: a prepend name for saving figures generated. None (default) prevents automatic saving.
    """
    if objHeaders is None:
        objHeaders=list(map(lambda n: 'obj: '+str(n),range(data.shape[1])))
    mp=lmp.lowDimMeanPlane(data) # create the mean plane
    runShowSaveClose(mp.draw3dMeanPlane,noneSafeConcat(saveFigsPrepend,'_meanPlane.png'),displayFig=displayFigs)
    runShowSaveClose(ft.partial(plotLogTradeRatios,mp,objHeaders),noneSafeConcat(saveFigsPrepend,'_tradeRatios.png'),displayFig=displayFigs)

    fa=FourierSummarizerAnalyzer.fromMeanPlane(mp,freqsToKeep)
    if displayFigs:
        fa.report()
    if saveFigsPrepend is not None:
        fa.report(saveFigsPrepend+'_report.csv')
    runShowSaveClose(ft.partial(spectral2dPowerImage,fa),noneSafeConcat(saveFigsPrepend,'_spectralPower.png'),displayFig=displayFigs)
    runShowSaveClose(ft.partial(spectral2dPowerPlot,fa),noneSafeConcat(saveFigsPrepend,'_spectralPower3d.png'),displayFig=displayFigs)
    runShowSaveClose(ft.partial(approximationPlot3d,mp,fa),noneSafeConcat(saveFigsPrepend,'_reverseTransform.png'),displayFig=displayFigs)
    runShowSaveClose(ft.partial(plot3dErr,mp.inputInPlane,mp.inputResidual),noneSafeConcat(saveFigsPrepend,'_errorPlot.png'),displayFig=displayFigs)
    runShowSaveClose(fa.powerDeclineReport,noneSafeConcat(saveFigsPrepend,'_powerDeclineReport.png'),displayFig=displayFigs)
    runShowSaveClose(ft.partial(plotTradeRatios,mp,fa,objHeaders),noneSafeConcat(saveFigsPrepend,'_tradeoffPlot.png'),displayFig=displayFigs)